正規表現である特定の文が0もしくは1の時

投稿者: Anonymous

'<div class="ex">[^/]*/em></div>'
自分でパターンを作りました。しかし、下記の上しかマッチできません。下記にも合うようにつくりたいです。どうしたらいいでしょうか?/span>を0or1でやろうとおもったのですが、文自体に?を使うことができませんでした。

下記のパターンにマッチするように作りたいです。

'<div class="ex"><em>文字列</em></div>'
'<div class="ex"><span>文字列</span><em>文字列</em></div>'

解決

? の対象は()で囲むことができます。

「文字列」の部分にはタグが入らないのであれば、

'<div class="ex">(<span>[^<]*</span>)?<em>[^<]*</em></div>'

でしょうか。<span><em>の中に他のタグが入ったり、属性が入る可能性がある場合はうまくいきません。

回答者: Anonymous

Leave a Reply

Your email address will not be published.