ここから本文です

C#の正規表現にて @"[a-z0-9.!#$%&'*+/=/^-{|}~-]+@[a-z0-9-]+(?:¥.[a-z0-9-]+)*...

plopさん

2018/4/2116:40:03

C#の正規表現にて
@"[a-z0-9.!#$%&'*+/=/^-{|}~-]+@[a-z0-9-]+(?:¥.[a-z0-9-]+)*"
これの表現内に出てくる!

と%と#と0-9-の最後のーと~と/と:と{}が何を表しているかわかりません教えてください。

閲覧数:
44
回答数:
1
お礼:
500枚

違反報告

ベストアンサーに選ばれた回答

ner********さん

2018/4/2118:53:32

[]の中は、-, ], \, 先頭の^以外は、エスケープする必要はないので、
[a-z0-9.!#$%&'*+/=/^-{|}~-]は、

a〜z
または0〜9
または.
または!
または#
または$
または%
または&
または'
または*
または+
または/
または=
または/
または^ 〜 { すなわち^、_、`、a〜z、{
または|
または}
または~
または-

ということになるのではないかと思います。

ハイフンをエスケープしていないので、範囲指定とみなされてしまい、_や、`にもマッチしてしまうと思います。意図していなかったのでは?最後のハイフンも多分本当はエスケープしたほうが良い気がしますが、1つ目のハイフンが効かなかったので試行錯誤で最後につけてみたらたまたま効いたのではないかと推察します。

_や`にマッチさせる意図がないのであれば、前半部分は、
[a-z0-9.!#$%&'*+/=^¥-{|}~]
でよいのではないかと思います。

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる