0

これらのインスタンスを見つけるためにpowerGrepを使用しています:

ブロック 1:

<td class="danish">kat
<?php audioButton("../../audio/words/dog","dog");?></td>

しかし、私のファイルの中にこれらのインスタンスもあります:

ブロック 2

<td class="danish">kat</td>
<td><?php audioButton("../../audio/words/dog","dog");?></td>

ブロック 2 ではなく、ブロック 1 のみを検索します。

次のように (?!) を使用してみました

.*<td class(.*?)>(.*)(?!</td>)
.*<\?php audioButton\("(.*)/.*",".*"\);.*\?></td> 

</td>BLOCK 2 が無視されるように、どうにかしてタグを検索から除外できますか?

4

1 に答える 1

1

最初のセルタグのみを一致させたい理由がよくわかりませんが、これを実行するには、次のことを試してください。

<td[^>]*>\s*(?:.(?!</td>))+\s*<\?php audioButton\("[^"]*/(.+?)","(.*?)"\);.*?\?>.*?</td>gフラグ付き。

ここで動作することを確認してください:https://regex101.com/r/tI4rL4/1

[編集]

dogここでtoの置換も確認できcatます: https://regex101.com/r/tI4rL4/2

質問が少し曖昧すぎるため、完璧ではないかもしれませんが、うまくいきます。少し改良したり、調整したり、少し説明が必要な場合は、私に尋ねることができます!

于 2016-09-13T03:35:05.153 に答える