文字の前に名前付きパラメータをサポートするXregexp式を探しています。ここに私の式は次のとおりです。Xregexp javascriptオプションの名前付きグループを空白で区切る
(?:d:|duration:)(?<time>.*\S+).*(?:t:|title:)(?<title>(?:.*\S+))(?:.*(?:(?:p:|prize:)(?<prize>.*\S+)))
それがうまく機能しているが、問題は、私のwannaは私が表現を使用する必要があり、オプションとしてp:<prize>
グループを置くのですか?ホワイトスペースがある場合、私はまた、キャプチャを終了しようとしている
例:
は、私が欲しいもの:
duration:1h 5m 1s title:Title test [p:prize]<-optionnal group
は私が持っていると思いますprize
グループはオプションです。
現在の式とマッチ:
duration:1h 5m 1s title:Title test p:Something random
グループ結果:
time
:1h 5m 1s
title
:Title test
prize
:Something random
あなたはすべてを、後続のサブパターンの最後の出現まで食べてしまうビットが.*
を取り除くために、あなたのパターンを制限する必要がある
あなたの正規表現の最後に閉じ括弧の直前に '?'を追加しようとしましたか? – Thijs
グループ 'time':' 1h 5m 1s' グループ 'title':\t'タイトルテストp:ee'私は既にそれを入れて、タイトルグループの中に賞金グループを入れます –
'?'を追加するだけでうまくいきません。 [this](https://regex101.com/r/T3B9o0/2)のようなものを試してみてください。それとも[これが好きだ](https://regex101.com/r/lmOKvH/1)。 –