很简单,我需要#使用正则表达式匹配符号.我正在研究一个标签检测器.
我试过在谷歌搜索和堆栈溢出.一个相关的帖子在这里,但由于他想从字符串中删除#符号,他没有使用正则表达式.
我已经尝试了正则表达式/\b\#\w\w+/,并且/\b#\w\w+/它们不起作用,如果我删除它#,它会检测到该单词.
Nie*_*sol 10
#在正则表达式中没有任何特殊含义,除非您将其用作分隔符.所以,直接说它应该工作.
注意,\b检测单词边界,并且在#abc单词边界之后是#和之前abc.因此,你需要使用这\b是多余的,你只需要#\w\w+.
你不需要逃避它(它可能\b就是把它扔掉):
if (preg_match('/^\w+#(\w+)/', 'abc#def', $matches)) {
print_r($matches);
}
/* output of $matches:
Array
(
[0] => abc#def
[1] => def
)
*/
Run Code Online (Sandbox Code Playgroud)