1

私は正規表現が初めてで、次の行から開始と終了のブレークのみをフィルタリングする必要があります。

<br/><br/><br/><br/><br/><p>hello<br/>asdsadas</p><br/><br/><br/><br/><br/>

私が使用している正規表現はこれです:

^[<br/>]+|[<br/>]+$

しかし、これにより次の結果が得られます。

p>hello<br/>asdsadas</p

私の必要な結果はこれです:

<p>hello<br/>asdsadas</p>

どこが間違っているのか誰か教えてもらえますか?前もって感謝します。

4

3 に答える 3

2

技術的には、正規表現はこの文字 <、>、b、r、/ のいずれかを個別に検索しています。正しい正規表現は次のとおりです。

^(<br/>)+|(<br/>)+$

しかし、コメントで言及したように、正規表現の代わりに DOM/XML パーサーを使用してみてください (Javascript には 1 つ、または DOM を直接使用します)。

于 2013-09-11T08:28:05.153 に答える
0

入力の中間 (興味深い) フラグメントを分離するために使用preg_matchしている場合、正しい表現は次のとおりです。

^(?:<br/>)*(.*?)(?:<br/>)*$

これはシーケンス<br/>を単一のトークンとして扱いますが、例のように山かっこを使用すると、「、、、、」のいずれかの文字を意味します。これが<、タグから山かっこを失っている理由です。br/><p>

于 2013-09-11T08:30:00.233 に答える