我有一个字符串,我想识别花的特征,而它们之前没有特殊的字,因为它们改变了搜索的方向。
我有以下花的特征(单词或缩写):
((bful\.?|beautiful)|(cful\.?|colorful)| (pe\.?|pretty))
转换“不匹配”中任何要素的关键字可以是整个字词或缩写,例如:
((stem|(lf\.?|leaf)|(spe\.?|special)).
使用此配置,我得到以下正则表达式:
(?<!((stem|(lf\.?|leaf)|(pe\.?|petal))([\s])*)((bful\.?|beautiful)|(cful\.?|colorful)| (spe\.?|special))
现在!问题是当我们在缩写或单词的末尾得到缩写(功能已启用)时。例如:
在这种情况下,“美丽”不是特征,因为“spe。”是在“美丽”之前,这是一个正确的答案,但我有“spe”字样的问题。因为我的应用程序将“pe”识别为“漂亮”,并将其解释为特征。
我尝试在关键字之前和之后合并\b
,但它不起作用。有谁知道在这些情况下可以做些什么?我感谢你能给我的所有帮助。
答案 0 :(得分:0)
看起来你需要逃避这个时期,所以它被匹配为一个句号,而不是“任何字符”。 “。”没有“\”表示“任何字符”。
例如,你应该写
(pe\.?|pretty)
答案 1 :(得分:0)
你也应该使用(\ bpe。| pretty)或者它可能匹配“spe”。与模式pe。而不是用spe。