Leetcode Note: Bash - Valid Phone Numbers
Valid Phone Numbers - LeetCode
https://leetcode.com/problems/valid-phone-numbers/
- Bash で取り組んだメモ
所感
- まさかの Bash の問題
- 2つ のフォーマットだけ抽出すつ
(xxx) xxx-xxxx
xxx-xxx-xxxx
- 地味に難しい
回答
Grep -e solution with detailed explanation, good for those new to regex - LeetCode Discuss
https://leetcode.com/problems/valid-phone-numbers/discuss/55478/Grep-e-solution-with-detailed-explanation-good-for-those-new-to-regex
grep -e '\(^[0-9]\{3\}-[0-9]\{3\}-[0-9]\{4\}$\)' -e '\(^([0-9]\{3\})[ ]\{1\}[0-9]\{3\}-\([0-9]\{4\}\)$\)' file.txt
- grep の
-e
オプションは正規表現の指定- 複数指定しても OK
'\(^[0-9]\{3\}-[0-9]\{3\}-[0-9]\{4\}$\)'
xxx-xxx-xxxx
を表す正規表現- 先頭から数値 3つ
- ハイフン
- 数値 3つ
- ハイフン
- 数値 4つ
'\(^([0-9]\{3\})[ ]\{1\}[0-9]\{3\}-\([0-9]\{4\}\)$\)'
(xxx) xxx-xxxx
を表す正規表現- 括弧
- 先頭から数値 3つ
- 括弧閉じ
- スペース 1つ
- 数値 3つ
- ハイフン
- 数値 4つ