php的正则表达式 '/\b\w{2}\b/ '是什么意思

'/\b\w{2}\b/'是个什么意思??谢谢指教... '/\b\w{2}\b/ '是个什么意思??谢谢指教 展开
 我来答
葛世贤
推荐于2018-02-28
知道答主
回答量:29
采纳率:0%
帮助的人:20.5万
展开全部
\w用于匹配字母,数字或下划线字符。
{n}匹配确定的 n 次。例如,‘o{2}’ 不能匹配 ‘Bob’ 中的 ‘o’,但是能匹配 ‘food’ 中的两个oo。
\b定位符规定匹配模式必须出现在目标字符串的开头或结尾的两个边界之一。
比如表达式‘/\bst\b/’可以匹配‘stub’或‘best’,但不能匹配‘industry’。

所以/\b\w{2}\b/可以匹配任意以两个字母,数字或下划线字符为串头或串尾的串,比如'3com','a_b', 'never let'等,但不能匹配‘I hit u’或‘&abc%’
莘赡05V
推荐于2016-10-22 · 知道合伙人软件行家
莘赡05V
知道合伙人软件行家
采纳数:1397 获赞数:3710
毕业安徽理工大学

向TA提问 私信TA
展开全部
\b是正则表达式规定的一个特殊代码(好吧,某些人叫它元字符,metacharacter),代表着单词的开头或结尾,也就是单词的分界处。虽然通常英文的单词是由空格,标点符号或者换行来分隔的,但是\b并不匹配这些单词分隔字符中的任何一个,它只匹配一个位置。
我编写的一个程序是:

string pattern1 = @"\bhi\b.*\bLucy\b";
string str = "hi,fdjkfdjk Lucy fjdk hiLucy";
foreach (Match match in Regex.Matches(str, pattern1, RegexOptions.IgnoreCase))
{
Console.WriteLine(match.Value + ":" + match.Index + ":" + match.Length);

}
Console.ReadLine();
若模式为\bhi\b.*时,若要得到匹配的话,hi后面必须跟空格,标点符号,换行符。这样才能匹配。

如果 要匹配的字符串为hifdjkdjfkd Lucy 这样就匹配不了了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式