"\\[email protected]\\w+[.]\\w+"
と"^\\[email protected]\\w+[.]\\w+$"
の違いは何ですか?私はそれのためにgoogleを試みたが運がない。
2
A
答えて
8
^
"は文字列の先頭にマッチ" を意味する(より正確に、の位置が文字列の最初の文字の前にあるため、実際の文字と一致しません)。
$
は、「文字列の最後に一致する」(文字列の最後の文字の後の位置)を意味します。
両方ともanchorsと呼ばれ、文字列全体が部分文字列ではなく一致するようにします。
あなたの例では、最初の正規表現は[email protected]
でマッチを報告しますが、一致するテキストは[email protected]
となるでしょう。 2番目の正規表現は単に失敗します。 (あなたがそれを使用している場合、例えばJavaの.matches()
)
慎重に、いくつかの正規表現の実装は、暗黙のうちに、文字列の開始/終了時に正規表現を係留。次いで
マルチオプションが(例えば、又はPattern.compile("^\\[email protected]\\w+[.]\\w+$", Pattern.MULTILINE)
を行うことによって、(?m)
フラグを使用して)設定されている場合、^
と$
もラインの開始および終了時に一致します。
0
Javadocを試してみてください。
http://download.oracle.com/javase/6/docs/api/java/util/regex/Pattern.html
^
と$
マッチ(それらを消費することなく)行の始まり/終末
関連する問題
- 1. 正規表現で+と*は何を意味しますか?
- 2. 正規表現では[^。] *は何を意味しますか?
- 3. JavaScriptで正規表現\ Sは何を意味しますか?
- 4. この正規表現は何を意味しますか?
- 5. この正規表現は何を意味しますか?
- 6. この正規表現は何を意味しますか:[^ \(\)] *?
- 7. この正規表現は何を意味しますか?
- 8. PCRE正規表現では "?>"の意味は何ですか?
- 9. R正規表現で^記号の意味は何ですか?
- 10. Javascriptの正規表現で[^]の意味は何ですか?
- 11. 正規表現内の/ giの意味は何ですか?
- 12. 何を意味する+と*正規表現のexpessionで
- 13. "[\ x09- \ x0d - 〜]"という正規表現は何を意味していますか?
- 14. この正規表現はJavaで何を意味しますか? "(\\ D +(\\ \\ D +)。?)"
- 15. この正規表現はdjangoで何を意味しますか?
- 16. 意味は、後者は、正規表現
- 17. このVimLの正規表現は何を意味していますか? %[MRHWY]
- 18. この正規表現は何を意味しますか:\\ d {3} - \\ d {4}。*
- 19. これらの正規表現は何を意味していますか?
- 20. このJavascript文(正規表現)は何を意味しますか?
- 21. 正規表現の最後にある "i"は何を意味しますか?
- 22. (?i)\\は何ですか?正規表現はどういう意味ですか?
- 23. 正規表現のスラッシュの意味/
- 24. この正規表現の意味
- 25. Djangoのurlpatterns:正規表現の意味
- 26. 正規表現のポンド(#)の意味
- 27. 正規表現のバックスラッシュの後の数字の意味は何ですか?
- 28. Javaの正規表現ダークコーナー... charsの順序は正規表現の意味を変えますか?
- 29. vimscript正規表現の文字列で+記号が何を意味する
- 30. この表現は何を意味しますか? var x =(function(){})();
文字列「[email protected]」は「\\ w + @ \ w + [。] \\ w +」と完全に一致しますが、「^ w\ @ [。] \\ w + $ "?私はjavaでテストして、文字列は両方のケースで失敗しました。私はまだ明確な違いは見当たりません。私の場合に基づいてポイントを表示できますか? – ipkiss
正規表現では、@記号の後に1つのドットしか使用できません。 '^ [\\ w。] + @ [\\ w。] + \\。\\ w + $'を試してください。まだ完全ではありません(正規表現は電子メールアドレスと一致するものではありません)が、もう少し寛容です。 –
はい、あなたの答えによると、文字列 "[email protected]"は "\\ w + @ \ w + [。] \\ w +"とマッチしますが、 "^ \\ w + @ \\" w + [。] \\ w + $ "となります。このコード:String s = "[email protected]"; System.out.println(s.matches( "\\ w + @ \ w + [。] \\ w +")); => false – ipkiss