0
マークアップの検索を行い、特定の属性を含まない特定のタグを探したいとします。
タグが{mytag}であり、属性が太字である場合、太字が欠落しているmytagの存在を検出したいと思います。大括弧で囲まれた文字列に別の文字列が含まれていない場合
これを見つける:
{mytagというサイズ= 3}
は、この無視:
{mytagという大胆= "true" のサイズ= 3}
マークアップの検索を行い、特定の属性を含まない特定のタグを探したいとします。
タグが{mytag}であり、属性が太字である場合、太字が欠落しているmytagの存在を検出したいと思います。大括弧で囲まれた文字列に別の文字列が含まれていない場合
これを見つける:
{mytagというサイズ= 3}
は、この無視:
{mytagという大胆= "true" のサイズ= 3}
をあなたは
{mytag([^}](?!bold=))*}
ような何かを行うことができます
これはタグと一致し、負の先読みを使用してbold
タグが末尾の}
の前に表示されていることを確認します。
コメントによれば、正規表現はここでは理想的ではありません。属性に}
が含まれていると、失敗します。例えば。 {mytag name="abc}def" bold="true"}
よろしく
正規表現は、非正規言語を解析するための最良のツールではありません。 – hsz
これはどのようなマークアップですか?ほとんどのマークアップでは、広く利用できる堅牢なパーサーがあります(HTMLの場合はHtmlAgilityPakなど)。 –