この正確な正規表現の機能をjavascriptに変更するにはどうすればいいですか?このphp正規表現をjavascriptに変換する
$ismatch= preg_match('|She is a <span><b>(.*)</b></span>|si', $sentence, $matchresult);
if($ismatch)
{
$gender= $matchresult[1];
}
else{ //do other thing }
この正確な正規表現の機能をjavascriptに変更するにはどうすればいいですか?このphp正規表現をjavascriptに変換する
$ismatch= preg_match('|She is a <span><b>(.*)</b></span>|si', $sentence, $matchresult);
if($ismatch)
{
$gender= $matchresult[1];
}
else{ //do other thing }
JavaScriptがs
修飾子をサポートしていないので、これは非常に簡単ではありません。
同等の正規表現オブジェクトは、次のようにJavaScriptで行われるであろう
/She is a <span><b>([\s\S]*)<\/b><\/span>/i
(一致がある場合、一致からのグループ1の抽出)コードの機能を次のようになります悪い
var myregexp = /She is a <span><b>([\s\S]*)<\/b><\/span>/i;
var match = myregexp.exec(subject);
if (match != null) {
result = match[1];
} else {
// do other thing
}
'[\ s \ S]'アプローチに関する情報は、[MDN](https://developer.mozilla.org/ja/JavaScript/Reference/Global_Objects/RegExp)にあります:*(小数点)は、改行文字「\ n」「\ r」「\ u2028」または「\ u2029」以外の1文字です。 ( '[\ s \ S]'は改行を含む任意の文字にマッチさせることができます)* –
または特殊なJS機能 '[^]'を使用してください。 – Qtax
@ Qtax:うわー、私はこれまでにこれを見たことがなかった。これに関する文書はありますか? –
ニュースは、JSはdotallスイッチをサポートしていませんhttp://stackoverflow.com/questions/1068280/javascript-regex-multiline-flag-doesnt-work – Petah
これは適切に言い表せば、これは良い質問かもしれないし、焦点はdotall修飾子...現在の状態では、「私のために働いてください」というように聞こえるn。 –