【发布时间】:2017-03-27 03:03:41
【问题描述】:
我想匹配并找到被空格或特殊字符包围的单词索引。例如:
To find: test
this is input test : True
this is#input_ : True
this isinput : False
thisisinputtest: False
this @test is right: True.
我如何匹配这个并找到索引。我当前的正则表达式失败:(?i)[^a-zA-Z0-9]test[^a-zA-Z0-9]
【问题讨论】:
-
这是一种不同的情况,因为在我的情况下,#test_ 应该返回测试索引而不是#test。
-
_是一个单词,而不是特殊字符。另外this is#input_不能是True,test这个词在哪里?您的测试用例中缺少#test_。 -
*非字母数字。此外,在一场比赛中,我想要“测试”的索引。所有其他示例都给出了完全匹配!
-
@WiktorStribiżew 等等,'_' 不是字符?
-
另外,由于需要搜索词的索引,所以使用lookarounds更容易-
String pat = "(?<!\\p{Alnum})test(?!\\p{Alnum})";