答えて
あなたは風味を指定していないが、それはあなたが使用することができますlookbehindsサポートしている場合:
(?<!&)&(?!&)
不可解な外観にもかかわらず、パターンは非常に簡単です:
(?<!&)
- 現在の位置を確認してくださいは、アンパサンドの後にです。&
- ...アンパサンドと一致します。(?!&)
...アンパサンドの前にはないことを確認してください。
+1負のルックアラウンドは私のソリューションよりも簡単です – stema
[^&]&[^&]
何か他のものが続く&続い&ではない何か、、、。
あなたの表現がライン/入力/表現/文字列の先頭や末尾にすることができた場合は、さらに2つの可能性があります
^&[^&]
[^&]&$
今、あなたはORとそれらを組み合わせることができます。
あなたは何&
前または開始がないことを確認する必要があり、それを参照してください
([^&]|^)&([^&]|$)
か、私より美しく使用前後参照に
(?<=[^&]|^)&(?=[^&]|$)
を行うことができます文字列の先頭または末尾には&
がないことを確認します。
[^&]
は、いずれかの非&
文字または文字列の先頭(^
)
[^&]|$
試合はいずれかの非&
文字または末尾&
[^&]|^
試合以外のものと一致する意味、否定文字クラスであります文字列の($
)
(?<=pattern)
アサーションを見て、確実にpattern
(?=pattern)
が主張先読みする前に、あるpattern
は
私の最初の、私の第二の溶液であるとの違いを以下であることを保証し、最初のものは前の文字にマッチすると、今後、第二の溶液はゼロである策を見て使用しています幅のアサーションは、文字にマッチしないことを意味します。
+1詳細な説明をありがとうございます。 :) – Mikaveli
&
でないか、または左右どちらもないものがある&
を見つける必要があります。
だから、式は次のようになります。
([^&]|^)&([^&]|$)
最初のグループは&
または行の先頭ではない文字にマッチします。次に、文字&
があり、2番目のグループは、&
または行末ではない文字と一致します。
&は行の先頭または最後ではないので、 '[^&]&[^&]'のみ一致しますか? – Mikaveli
はい、 '&'の前後に文字が必要です。 –
- 1. 正規表現を見つける正規表現
- 2. 正規表現を見つける '\ n'
- 3. 最初に出現する正規表現を見つける正規表現
- 4. 正規表現の後に値を見つけるための正規表現
- 5. xcodeで正規表現を見つけて置き換える正規表現...?
- 6. 正規表現を見つけるための正規表現ですか?
- 7. 正規表現で2つのパターンを見つける
- 8. 見つける正しい正規表現
- 9. 正規表現を使ってPythonでデータを見つける
- 10. パターンを見つけてアンカータグをラップするPHP正規表現
- 11. つだけ出現正規表現
- 12. Cスタイルのブロックコメントを見つけるための正規表現
- 13. 正規表現:各一致を見つけて置換する
- 14. 二重引用符を見つけるJava正規表現
- 15. キーの値を見つけるための正規表現
- 16. 正規表現で特定のテキストを見つける
- 17. 空のアンカータグを見つけるための正規表現
- 18. リンクを見つけるためのPHP正規表現
- 19. 正規表現ファイルのリスト内のクラスを見つける
- 20. クエリと正規表現のデータを見つける
- 21. 正規表現:一致のインデックスを見つける
- 22. 正規表現で文字列を見つける
- 23. 正規表現の一致を見つけるPythonicの方法
- 24. 正規表現で '== text =='を見つける
- 25. サブ文字列を見つけるための正規表現
- 26. 正規表現ミスを見つける際の問題
- 27. 価格を見つけるための正規表現
- 28. すべての条件文を見つける正規表現
- 29. 正規表現で特殊パターンを見つける方法
- 30. Java正規表現の部分文字列を見つける
正直な正規表現を使っている人は誰でも私からupvoteを得ました。 :) ...誰もが答えを削除しました...;) – Mikaveli