【发布时间】:2016-09-08 13:07:47
【问题描述】:
假设我有 2 个字符串数组 位置1 = ['word1','word2','word3'] position2 = ['word4', 'word1']
并且我想在文本/字符串中检查文本中存在的子字符串#{target} 后面是 position1 的单词之一还是 position1 的单词之一em>position2 甚至两者同时进行。同样,好像我在看#{target}的左右。
例如,如果目标词是data,则在句子“Writing reports and inputing data into internal systems, 有关执法和移民文件”中,我想检查单词left(输入)和right(onto)是否包含在数组中,或者数组中的单词之一是否为正则表达式匹配返回true。有什么建议么?我正在使用 Ruby,我尝试了一些正则表达式,但我还不能让它工作。我还必须忽略介于两者之间的任何潜在特殊字符。
其中一个:
/^.*\b(#{joined_position1})\b.*$[\s,.:-_]*\b#{target}\b[\s,.:-_\\\/]*^.*\b(#{joined_position2})\b.*$/i
编辑:
我想出了用正则表达式来捕获左右单词的方法:
(\S+)\s*#{target}\s*(\S+)
但是,如果我想左右捕捉多个单词,我可以改变什么?
【问题讨论】: