質問: phoneRegex.Matches(doci.DocumentNode.InnerText); ``` `doci`はhtmlの`HtmlDocument`パックからの`HtmlDocument`抽象です。問題は、 `08450 211 211`と`+44 (0) 1246 733 000`ようないくつかの電話番号と一致しないことです。 ウェブサイトをクロールする際に最も適した正規表現が存在し、ほとんどの形式の国際電話番号のマッチングが可能ですか?
回答: あなたの正規表現は単純にそれらと一致しないので、あなたはそれらの電話番号( `08450 211 211`と`+44 (0) 1246 733 000` )を一致させることはできません。 正規表現を書くときにまず行う必要があるのは、 **一致させたいパターンを特定することです** 。 だから、私の提案は**、さまざまな電話番号の形式のリスト**を書き留めて、 **あなたの質問を更新することです** 、そして私たちはあなたを助けることができるでしょう。それ以外の場合は、正規表現が一致しない可能性のある新しい電話番号を常に作成します。 上記の電話番号と一致する正規表現を次に示します。 ``` (?:\+\d+\s+\(\d+\)\s+)?\d{4,5}\s+\d{3}\s+\d{3} ``` **編集:** あなたのコメントによると、私はこの正規表現を使用して、電話番号ではない正規表現を削除するだけです: ``` (?:\+\d+\s+\(\d+\)\s+)?[\d -]+ ```