2

ここ数日から分析している次の正規表現があります。

/8c/4!n1!x4!n

この正規表現でスラッシュが何を意味するのか誰にもわかりますか。

4

2 に答える 2

6

特定のプログラミング言語の規則などのコンテキストがなければ、正規表現のスラッシュには特別な意味はありません。リテラルのスラッシュに単純に一致します。

sed、Awk、Perl、PHPなどの一部の言語では、一部のコンテキストで正規表現の前後にスラッシュが使用されます。

/foo/n

sedたとえば、このスクリプトはn、現在のパターン スペースに正規表現に一致するテキストが含まれている場合に (次の行) アクションを選択しますfoo。ご覧のとおり、正規表現を括弧で囲むためにスラッシュが使用されています。

余談ですがsed、Perl (および PHP?) ではスラッシュ文字がデフォルトであり、必要に応じてアルファベット以外の別の区切り文字に切り替えることができます。

于 2013-01-01T11:17:29.973 に答える
1

似ていますが、これは正規表現ではありません。これは、SWIFT 金融メッセージ フィールド形式の定義です。

たとえば、https://www2.swift.com/uhbonline/books/public/en_uk/stdsdkug_20090925/stds_dev_kit_user_guide.pdfの 8 ページを参照してください。

大まかな翻訳は、リテラル文字 "/" の後に最大 8 文字の英字が続き、その後に "/" が続き、正確に 4 つの数字、正確に 1 つの英数字、正確に 4 つの数字になります。「!」「まさに」を表します。

于 2015-03-11T09:36:26.803 に答える