0

私はテキストに一種のブックマークを使用しています。これらのブックマークは非常に構造化されています:(#+フィールド+#)

「フィールド」には、アルファベットの文字(AZとaz、数字やその他の文字は含まない)のみを含める必要があります。

このルールを満たさない単語を一致させる必要があります。

したがって、次の例を検討してください。

  1. (#会社名#)
  2. (#会社名#)
  3. (#Company5Name#)

最初の1つだけが正しいですが、他の2つのケースと一致させる必要があります。最初のものと一致するパターンは次のとおりです。

(\(\#)[A-Za-z]+(\#\))

間違ったケースに一致させるには、次のようなものが必要です。

(\(\#)[^A-Za-z]+(\#\))

しかし、これは正しく機能しません。

誰かがそれを機能させる方法を私に提案できますか?

事前に感謝し、私の英語をお詫びします...

4

2 に答える 2

1

これはうまくいくはずです:

\(#.*?[^A-Za-z].*?#\)

\(- エスケープ (
#- ハッシュ
.*?- 0 個以上のワイルドカード (非貪欲)
[^A-Za-z]- 単一の無効な文字
.*?- ゼロ個以上のワイルドカード (非貪欲)
#- ハッシュ
\)- エスケープ )

于 2013-03-04T14:13:13.837 に答える
1

あなたが試すことができます

\(#[^#]*?[^A-Za-z#]+[^#]*?#\)
于 2013-03-04T14:13:33.870 に答える