10桁の後にスペースを追加する正規表現

10桁の後にスペースを追加する正規表現

20 桁の数字の 10 桁目の後にスペースを追加するには、検索/置換操作を実行する正規表現をどのように記述すればよいでしょうか。

電話番号の長いリストがあり、そのうちのいくつかは誤って 20 桁になっているため、各インスタンスの間にスペースを追加する必要があります。

編集: 20 桁の数字を選択する \d\d​​\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d を試しましたが、これをスペースに置き換えると、10 桁の後にスペースが挿入されるのではなく、20 桁すべてが空白に置き換えられます。

私はMacBook Pro上のSublime Textを使ってこれを実行しようとしています。

答え1

使用する必要があるキャプチャグループ元の文字列のコンポーネントを保持しながら置換操作を実行する場合。

正規表現は次のようになります:

パターン: "^([\d]{10})([\d]{10})" //two groups of 10

交換する: "$1 $2"

10 個のブロックの各パターンを囲む括弧は、キャプチャ グループを定義します。つまり、「最初の 10 桁はグループ $1 にあり、次の 10 桁はグループ $2 にあります」と指定します。次に、「グループ 1 を印刷し、スペースを追加して、グループ 2 を印刷する」と指定します。

各プラットフォームは、正規表現構文と置換構文に関して異なることに注意してください。多くのプラットフォームでは$number(sed など) が使用され、他のプラットフォームでは\number(notepad++ など) が使用されるため、必ず製品のドキュメントを参照してください。

関連情報