正規表現で@を使う場合は\@とするべきか@とするべきか悩んでいます。
両方とも構文エラーが起きないのでその時点で?ですが
.は\.としないと正規表現ではドット文字を認識しないのはわかりますが、正規表現の@はどうすればよいのでしょうか?
Perl自体@も配列なので\@つけた方が・・・
よろしくお願いいたします。
$x = "test@example.com";
if ( $x =~ /[^a-zA-Z0-9\.\-\_@]/)
if ( $x =~ /[^a-zA-Z0-9\.\-\_\@]/)
No.1ベストアンサー
- 回答日時:
> $x = "test@example.com";
>if ( $x =~ /[^a-zA-Z0-9\.\-\_@]/)
>if ( $x =~ /[^a-zA-Z0-9\.\-\_\@]/)
文字列中の @ をエスケープを忘れてはいけません。
これは正規表現のマッチとは関係ありません。
この例でもuse strict すれば警告が出るはずです。
use strict;
use warnings;
#my $x = "foo@example.com";
my $x = "foo\@example.com";
#my @z = qw(f o o);
print "match\n" if $x =~ /[@z]/;
実行時のエラーメッセージ:
Possible unintended interpolation of @z in string at interpol.pl line 8.
Global symbol "@z" requires explicit package name at interpol.pl line 8.
Execution of interpol.pl aborted due to compilation errors.
上のスクリプトの my @z の行を生かすと
マッチに成功するようになります ;-)
@のエスケープは正規表現パターン中でも
必要ですが、ブラケットの中にある
'.' や '_' のエスケープは不要です。
'-' は扱いが微妙なんですが、この例では必要ですね。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript ソースコードは下の共有コードサイト「張り紙」にあります。 入力フォームの javascript で 1 2022/05/11 11:01
- オープンソース csvデータのダブルクォーテーションで囲まれた文字内にあるカンマを削除したい 3 2022/09/02 15:17
- その他(プログラミング・Web制作) VB.NETの正規表現について 4 2022/04/12 16:54
- PHP preg_matchで Warning: Undefined variableが出ます 1 2022/11/15 17:06
- その他(プログラミング・Web制作) テキストエディタで複数行にわたる文字列の行頭に番号を振る方法 4 2023/03/11 12:57
- Java コンソールから所属財産を入力(単位:万円 1000~100000以内でIntegerに変換できない場 2 2022/05/31 21:32
- Excel(エクセル) エクセルの数式で教えてください。 2 2023/02/10 11:41
- Access(アクセス) AccessVBAで任意の複数リンクテーブルをAccessVBAを動かす際に削除したいと考えておりま 1 2022/11/17 15:45
- その他(コンピューター・テクノロジー) 正規表現の置換で数値を合計したいです。 2 2022/10/17 11:01
- 英語 "seperate A from B"のAとBの関係性(時系列や包含関係)とその理由等について 1 2023/05/17 16:23
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
正規表現 秀丸エディタ 行頭か...
-
C言語のコメントを「正規表現」...
-
メールアドレスの正規表現について
-
文章中全ての半角カッコ ( の...
-
Perl 数値にスラッシュを入れる...
-
正規表現でAND検索はできる...
-
wordの何も書かれていない2ペー...
-
PS4コントローラーをPCでゲーム...
-
エクセルでアルファベットか数...
-
Chr(13)とChr(10)の違いは?
-
EXCELで=より左の文字を一括で...
-
Excelで3E8を3.00E+8にしない方...
-
EBCDIC⇒SJIS変換の方法
-
Excelで指数表現しないようにす...
-
パワーポイントで文字の上に線...
-
文字列からタブコードを取り除...
-
エクセルのIF文で「NOT=...
-
セル内の文字列が日本語か英語...
-
プログラムについての質問です...
-
【エクセル】セル最後にある無...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
vbaの正規表現で、マッチした一...
-
正規表現 秀丸エディタ 行頭か...
-
正規表現でシングルクォーテー...
-
[VBS] テキストファイルから任...
-
メールアドレスの正規表現について
-
正規表現でAND検索はできる...
-
Perl 数値にスラッシュを入れる...
-
[正規表現] 数字範囲をヒット...
-
正規表現です。括弧内にある複...
-
C言語のコメントを「正規表現」...
-
文章中全ての半角カッコ ( の...
-
C言語にパターンマッチってない...
-
grepの正規表現での最短マッチ...
-
正規表現で囲まれた部分の文字列
-
正規表現
-
さくらエディタでGrep検索する...
-
正規表現
-
時間の正規表現
-
正規表現を使って文字列をコピー
-
正規表現で、青空文庫形式の入...
おすすめ情報