2013-12-20 64 views
0

我在正则表达式边界\b中遇到了一些困难。我需要在一些加载的文本(纯文本数据或Xml)中搜索确切关键字。由于需要完全匹配,我使用\bkeyword\b模式,但我得到的行为与我在关键字以特殊字符开头时所期望的不同。例如的模式在I have € 3,5 to spend!中不匹配。这是任何特殊字符的情况。用特殊字符开头的正则表达式 b

我已经四处搜寻,但想出了没有解决方案。有没有像\b那样的机制,但是对于特殊字符?另请注意,我无法更改关键字。 任何帮助,将不胜感激。

回答

1

你或许可以利用积极的回顾后发的:

(?<=^|\s)€ 3,5\b 

正回顾后会匹配字符串或\s任之初,不包括他们在比赛本身。

+1

我已经调整过它,因此它在xml标记开始后立即匹配数据,如果特殊字符在关键字'(?<=^|[\s>])€3,5(?!\ w) 。像现在的魅力一样工作,谢谢。 –