0
で動作します私はJavaでこの正規表現を試してみました:解析テキストは、オンラインでのテストではなく、このコード
Pattern orderCheck = Pattern.compile("^([\\-\\+])?(created|title|price|creation)$", Pattern.CASE_INSENSITIVE);
orderCheck.matcher(value).matches();
そして奇妙な:作成
- :
- -createdの作品: 作品
- +作成:は動作しません
- タイトル:
- +タイトル作品:
- -title作品が
- などの作品はありませんが...
+の非検証として結果正規表現が、私はなぜ理解できません。
このonline regex testerを使用すると、すべての値に対して完全に機能します。 ?私も失敗し、この変異体しようとしたが、
:
- ^[\ - \ +](作成|タイトル|価格|作成)$
- ^[ - +](作成|タイトル? |価格|作成)$
- ^( - +)(作成|タイトル|価格|作成)$
- ^( - |?+)(作成|タイトル|価格|作成)$
- ^[? - | +]?(作成済み|タイトル|価格|作成済み)$
- ^(作成済み|タイトル| pric) e |作成)$
私の必要性に合った正しい正規表現は何ですか?私はどこが間違っているかわかりません:/
ありがとうございました!
)O:多分休憩を持っているし、最初の数時間のためにベッドに行く必要があります。どのようにこれをテストしていますか? –
は '-'をエスケープして動作するはずです。 –
isbadawiと同様に、あなたのパターンはうまくいきます(実際には '-'と' + 'のバックスラッシュは必要ありません)。私は 'orderCheck.matcher(value)'が実際にはあなたが思う '+'で始まっていないと確信しています。おそらく '%2B'にURLエスケープされていますか?または、* de * -URLをスペースにエスケープしたかもしれませんか? – ruakh