我试图在使用php和reg exp的文本中找到字符串“C#”。unicode上的正则表达式失败
我使用
\bc\x{0023}\b
但并不在所有的工作。
\bc\x{0023}
的作品,但是这不是我
任何线索的解决方案?
我试图在使用php和reg exp的文本中找到字符串“C#”。unicode上的正则表达式失败
我使用
\bc\x{0023}\b
但并不在所有的工作。
\bc\x{0023}
的作品,但是这不是我
任何线索的解决方案?
这是因为转义序列\b
意味着一个字边界。 Word根据PHP手册定义为: “”字“字符是任何字母或数字或下划线字符,即任何可以是Perl”字“的一部分的字符。”“。
单词边界表示单词和非单词之间的边界。换句话说,作为单词字符的人物与人物之间的关系不是单词人物。问题是#
不是一个单词字符。因此,除非#
后跟一个单词字符,否则#\b
将永远不匹配。
也许你应该更清楚地使用字符类来定义你想要的。例如/\bc#(?![a-z])/i
(即C#没有跟随az字符范围)
我在使用这个表达式之前,我意识到它失败了#,我用例如\ bjava \ b找到java,java和java但不是javabean – 2011-03-15 09:09:06
对不起,我误解了你的解决方案,它工作正常。 – 2011-03-15 09:16:05
unicode工作但\ unicode后面的\ b不 – 2011-03-15 09:09:38