私はregexone.com - http://regexone.com/problem/matching_phone_numbersでこの問題を発見しました。番号と一致する単一の正規表現を記述し、適切な市外局番を取得します。ここでこの正規表現を理解する助けが必要
Exercise 2: Matching Phone Numbers
Task Text Capture Groups
Capture 415-555-1234 415 Success
Capture 650-555-2345 650 Success
Capture (416)555-3456 416 Success
Capture 202 555 4567 202 Success
Capture 4035555678 403 Success
Capture 1 416 555 9292 416 Success
表現(\d{1}?(\d{2}))
は、市外局番をキャプチャーしますが、私は理解する必要があることは私の最初のグループは唯一の1桁のためのものであり、オプションです。そして、私の2番目のグループは2桁しか保持しません。どのように3桁の数字をキャプチャしましたか?
Huh? 1 + 2 = 3であるから? 2桁( '\ d {2}')または3( '\ d {1} \ d {2}')に一致します。 – h2ooooooo
[* Quantifier:{1}?正確に1回(意味のない量詞)*](https://regex101.com/r/xK6sE4/1) –
@ h2ooooooo最後の数字はどうですか416 555 9292? 1をスキップしてキャプチャした416 –