ホームページ  >  記事  >  バックエンド開発  >  【レギュラー】単語に完全一致するPerl風レギュラーの書き方(プレビュー)

【レギュラー】単語に完全一致するPerl風レギュラーの書き方(プレビュー)

WBOY
WBOYオリジナル
2016-06-13 12:09:581364ブラウズ

[定期] 単語に完全に一致する Perl 正規表現の書き方 (プレビュー)

この投稿の最終編集はdefault7 on 2014-10-27 09:30:18 Sublimeまたは多くの編集を使用して検索してくださいソフトウェア すべての機能に単語を完全に一致させる機能が搭載されています。これはどのように実装されていますか?

<br /><br />/**<br /> * @param $str<br /> *<br /> * @return string<br /> */<br />function getValue($str)<br />{<br />    return preg_match('/(?:\D)(\d{8})(?:\D)/', $str, $matches) ? $matches[1] : '';<br />}<br /><br />$arrStr = [<br />    '10208899', //有<br />    '#10208899', //有<br />    '#test^10208899', //有<br />    '#ff1020889900',//无<br />    '#0010208899',//无<br />    '#1020^10208899a',//有<br />    '#5566880&10208899f',//有<br />    'test?#10208899',//有<br />    '#10208899.'//有<br />];<br /><br /><br />foreach ($arrStr as $i => $str) {<br />    $value = getValue($str);<br />    echo "$i\t{$str}\t\t=>\t{$value}\n";<br />}<br />

上記のマッチングは間違っており、0、1、2、7 がマッチングされません。

<br />0	10208899		=>	<br />1	#10208899		=>	<br />2	#test^10208899		=>	<br />3	#ff1020889900		=>	<br />4	#0010208899		=>	<br />5	#1020^10208899a		=>	10208899<br />6	#5566880&10208899f		=>	10208899<br />7	test?#10208899		=>	<br />8	#10208899.		=>	10208899<br />


-----ソリューションのアイデア----------------------
function getValue($str)<br />{<br />    return preg_match('/(?:^<br><font color='#FF8000'>------解决思路----------------------</font><br>\D)(\d{8})(?:\D<br><font color='#FF8000'>------解决思路----------------------</font><br>$)/', $str, $matches) ? $matches[1] : '';<br />}<br />
0	10208899		=>	10208899<br />1	#10208899		=>	10208899<br />2	#test^10208899		=>	10208899<br />3	#ff1020889900		=>	<br />4	#0010208899		=>	<br />5	#1020^10208899a		=>	10208899<br />6	#5566880&10208899f		=>	10208899<br />7	test?#10208899		=>	10208899<br />8	#10208899.		=>	10208899<br /><br />
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。