0

これは、「{changenumber}」と「{/changenumber}」の間の p、span、a およびその他のタグで「1」を検索し、「2」に置き換えるコードの一部です。

検索のコード:

(((<(p|span|a|li|ul|br|/br|tr|td)[^>]*>)|(\{changenumber\}))[^<|(\{/changenumber\})]*)1(.*(<|(\{/changenumber\})))

および置換のコード:

\12\7

[^<|(\{/changenumber\})]しかし、この句のすべての文字で除外される問題があります:"{","c","h","a"など

\b\{/changenumber\}\bやってみる(?!...)けど無理!

正確なフレーズ " " をどのように除外でき{changenumber}ますか?!


より簡単な方法で:

[^abc]+ と書くと、"a" と "b" と "c" は除外されますが、正確な "abc" を除外したい場合はどうすればよいでしょうか?!

[^(abc)]+ は機能しません

[^\babc\b]+ は機能しません

(?!abc) は機能しません

(?!\babc\b) 機能しません

...


その言語は英語です

joomlaのrereplacerコンポーネントで置き換える方法であるため、正規表現を使用します

とんでもない?!!!

4

1 に答える 1

0

[^abc]+ と書くと、"a" と "b" と "c" が除外されますが、正確な "abc" を除外したい場合はどうすればよいでしょうか?!

[^(abc)]+ は機能しません

[^\babc\b]+ は機能しません

(?!abc) は機能しません

それは誤りです。否定先読みが機能します。そうでない場合は、使用法に問題があります。

しかし、問題があります。[^<|(\{/changenumber\})]この句のすべての文字 ("{"、"c"、"h"、"a" など) が除外されます。

それ以外の

[^<|(\{/changenumber\})]

書きます

((?!\{/changenumber\})[^<])

— つまり、否定されたセットの前に先読みを配置します。

また、 に.*置き換えて非貪欲にする必要があります.*?

于 2014-06-05T08:45:53.880 に答える