Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/269.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Regexp边界和字符串';c#和#x27;_Php_Regex - Fatal编程技术网

Php Regexp边界和字符串';c#和#x27;

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 ~

只是想知道。我注意到我的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 ~$~ 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|