私はこのような文字列を一致させようとしています:
key:value
ただし、次のような文字列には一致しません。
"has: stuff"
("or: that")
これまでのところ、次のような正規表現があります。
^(.*?):
これは、これらの例のすべてに一致しています。どうすればこれを防ぐことができますか?
おそらく正規表現を使用したいキーを見つけるには、^\w+(?=:)
または^(\w+):
簡単な正規表現パターンを次に示します。
^(\w+)\:(\w+)$
\w
: セット内の 1 文字 [0-9a-zA-Z]
\w+
: 1 つ以上の \w 文字
^
: 1 番目の前に他の譜表はありません (\w+)
$
: 2 番目以降の譜表はありません (\w+)
あなたの反例では、この試合の目的のためにそれらを「無効」にする要因は何ですか?冒頭の句読点ですか?コロンの後のスペース?
不要なものを除外するのではなく、必要なものだけを含める必要があるようです。キーと値のペアが常に英数字のキーで構成されている場合(つまり、句読点がない場合)、それを検索するだけの正規表現を使用できます。
/^([[:alnum:]]+):/