-3
有効な電話番号のみを含む行を行内に表示するPerlスクリプトを作成するにはどうすればよいですか?有効な電話番号のみを行内に表示するPerlスクリプト?
(888).888-8888は有効な数値で、8は任意の数値であるとします。ここで
So the sample input is
this is nota number
3214235234
(410).977-2132
my num is ((410.222-1231))
test 234 test
Output:
(410).977-2132
my num is ((410.222-1231))
は、私がこれまで
if ($string =~ /^(?:(?:\+?1\s*(?:[.]\s*)?)?(?:\(\s*([.][2-9]1[02-9]|[2-9][02-8]1|[2-9][02-8][02-9])\s*\)|([2-9]1[02-9]|[2-9][02-8]1|[2-9][02-8][02-9]))\s*(?:[.-]\s*)?)?([2-9]1[02-9]|[2-9][02-9]1|[2-9][02-9]{2})\s*(?:[.-]\s*)?([0-9]{4})(?:\s*(?:#|x\.?|ext\.?|extension)\s*(\d+))?$) {
# is a number
} else {
# is not
}
を持っているもので、私は私が間違った正規表現を持っているかもしれないと思います。あなたは助けてもらえますか?でラインをキャッチする
を「私は私が間違っている正規表現を持っているかもしれないと思います。 "だからこそ、わからないコードを盲目的にコピーしてはいけません。国家コードと拡張機能を含め、あなたがサポートしようとしているよりもはるかに広い範囲の入力のために書かれている[Stack overflowの答えは、あなたがそれを持っていると仮定している](http://stackoverflow.com/a/123666/176646)もちろん、 '(000).000-0000'はおそらく有効な*電話番号ではありません...あなたはそれにマッチしてもよろしいですか? – ThisSuitIsBlackNot
はい私はそれにマッチしたい – Sam
なぜあなたは間違った正規表現を持っていると思いますか?あなたがマッチしたくない入力と一致する入力は何ですか? – ysth