微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在匹配时计算索引

如何解决如何在匹配时计算索引

目标

我想让单词被特定符号包围,例如括号及其索引号。

self.network = nn.Sequential(
            nn.Conv2d(3,32,kernel_size=3,padding=1),nn.Conv2d(32,nn.ReLU(),64,stride=1,# Change this from 32 to Now 64 like I did here.
            nn.Conv2d(64,nn.MaxPool2d(2,2),# output: 64 x 16 x 16

索引号被认为是在分割输入句子的列表之后。

问题

电流输出主要有两个问题。

  1. 索引计数由非词库完成。

  2. 与正则表达式匹配没有达到我预期的效果

输出

# input and symbol []
A key word is put in parentheses,like these: [keyword] or [key word] 

# output 
keyword (9,9)
key word (11,12)

代码

['A','key','word','is','put','in','parentheses,','like','these:','[keyword]','or','[key','word]']

keyword] or [key word
(47,68)

如何修复当前代码提取目标输出

解决方法

看看这是否有帮助:

import re

sentence = "A key word is put in parentheses,like these: [keyword] or [key word]"
splitted = sentence.split(' ')
matched = re.finditer("(?<=\[)([a-z ]+)(?=\])",sentence)
#print(matched)
for w in matched:
    start = len(sentence[:w.span()[0]-1].split())
    quantity = len(w.group().split()) - 1
    print(w.group(),(start,start + quantity))

我的输出:

keyword (9,9)
key word (11,12)

编辑:

你也可以添加这个

sentence = sentence.replace('[',' [')
sentence = sentence.replace(']','] ')

用于避免在使用 split() 和 len() 计算单词位置时可能出现的错误

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?