1

私はこのような文字列を一致させようとしています:

key:value

ただし、次のような文字列には一致しません。

"has: stuff"
("or: that")

これまでのところ、次のような正規表現があります。

^(.*?):

これは、これらの例のすべてに一致しています。どうすればこれを防ぐことができますか?

4

3 に答える 3

1

おそらく正規表現を使用したいキーを見つけるには、^\w+(?=:)または^(\w+):

于 2012-08-21T02:14:08.753 に答える
1

簡単な正規表現パターンを次に示します。

^(\w+)\:(\w+)$

\w: セット内の 1 文字 [0-9a-zA-Z]

\w+: 1 つ以上の \w 文字

^: 1 番目の前に他の譜表はありません (\w+)

$: 2 番目以降の譜表はありません (\w+)

于 2012-08-23T21:34:58.413 に答える
0

あなたの反例では、この試合の目的のためにそれらを「無効」にする要因は何ですか?冒頭の句読点ですか?コロンの後のスペース?

不要なものを除外するのではなく、必要なものだけを含める必要があるようです。キーと値のペアが常に英数字のキーで構成されている場合(つまり、句読点がない場合)、それを検索するだけの正規表現を使用できます。

/^([[:alnum:]]+):/
于 2012-08-21T02:10:32.917 に答える