0

我有一个字符串,我想识别花朵的特征,而它们之前没有特殊词,因为它们改变了搜索的方向。

我有以下花的特征(单词或缩写):

((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”。在“美丽”之前,这是一个正确的答案,但我对“spe”这个词有疑问。因为我的应用程序将“pe”识别为“漂亮”,并将其解释为特征。

我试图合并\b关键字的前后,但没有奏效。有谁知道在这些情况下可以做什么?我很感激你能给我的所有帮助。

4

2 回答 2

0

看起来您需要转义句点,以便将其匹配为句点,而不是“任何字符”。这 ”。” 没有“\”表示“任何字符”。

例如,你应该写

(pe\.?|pretty)
于 2012-07-12T22:12:22.827 回答
0

你也应该使用 (\bpe.|pretty) 或者它可能匹配“spe”。与模式 pe。而不是spe。

于 2012-07-12T22:15:50.330 回答