Php Regexp边界和字符串';c#和#x27;
只是想知道。我注意到我的regexp在与“\b”一起使用时找不到字符串“C#”Php Regexp边界和字符串';c#和#x27;,php,regex,Php,Regex,只是想知道。我注意到我的regexp在与“\b”一起使用时找不到字符串“C#” if (preg_match('@\bC#\b@i', $userSkills)) {... 但是,如果我删除“\b”,它会设法找到字符串 有人知道这里有什么问题吗 要查找匹配项的字符串: Unified Communications Design Specialist ~$~ Windows 95 or 98 ~$~ Windows 2000 or XP ~$~ Linux ~$~ Visual Basic ~
if (preg_match('@\bC#\b@i', $userSkills)) {...
但是,如果我删除“\b”,它会设法找到字符串
有人知道这里有什么问题吗
要查找匹配项的字符串:
Unified Communications Design Specialist ~$~ Windows 95 or 98 ~$~ Windows 2000
or XP ~$~ Linux ~$~ Visual Basic ~$~ ASP Net ~$~ C# ~$~ Contact Center Design
Specialist ~$~ Internet Programming ~$~ Object oriented programming ~$~
Databases ~$~ Unified Commucations ~$~ Contact Center Solutions ~$~
Junior Developer ~$~ Solutions Engineer
单词边界为\b
而非/b
if (preg_match('@\bC#\b@i', $userSkills)) {...
这是因为#
不是单词字符。我用|在字符串中的“C#
”周围标记了单词边界:
你看,在“
#
”和“
”之间没有边界,所以\b
不匹配。对不起,我的问题出错了,我现在编辑了它,但问题仍然是在OP完全改变问题之前,对100%正确的答案投了反对票?非常可笑…不管斜杠/反斜杠是什么,你的答案都不正确…这里似乎有不同的问题你改变了整个问题-我的答案回答了你原来问的问题。这很简单!=对。锁现在,如果你能帮助welcome if not找到一些你可以帮助的其他问题,如果这让你感到高兴,我会给你投票。你在正则表达式中使用了哪一个?\b
或/b
?我发布了我试图查找匹配项的字符串。它适用于除c#之外的所有字符串。据我所知,为什么是否决票?问题是,为什么\b
不匹配,我解释过。所以除了str#u replace('#','sharp',$var')之外,这种情况下的任何解决方法都可以使用[\s^](C#)[\s$]
,以便在“C#”之前或之后匹配空格或“begin”/“end”。当然,整个模式匹配“C#”,包括那些空格,因此子模式括号。不,它不会这样做,我在循环中这样做,需要匹配所有类型的关键字,但感谢你的努力,我不明白为什么这是反对它的理由。
|ASP| |Net| ~$~ |C|# ~$~ |Contact|