정규식 시각화 도구 Regulex를 사용합시다!

안녕하세요.
와이 정규식 입문 - Qiita
기사를 보았을 때,

“다이쇼·쇼와·헤세이·영화만을 OK로 하고 싶어”

를 표현하는 정규 표현은,

↑ 다이쇼 | 쇼와 | 헤세이 | 레이와 $

보다는

^(다이쇼|쇼와|헤세이|영화)$

라는 이야기가 있었습니다. 부끄러워하면서 완전히 인식이 빠졌습니다.
이것은 테스트를 빠져나가는 느낌이 들고 리뷰에서도 찾을 수 있을 것 같지 않습니다.

거기서, 정규 표현 시각화 툴 Regulex 의 차례입니다!



(정규식은 자주 사용하는 정규 표현은 더 이상 구구하고 싶지 않다! - Qiita의 인터넷 URL을 사용하고 있습니다)

Regulex 사용법



위 텍스트 상자에 정규식을 입력하면
아래에 입력한 정규 표현을 시각화한 그림을 표시해 줍니다. 너무 멋지다.



잘 보이지 않는다고 생각하면 Visualize 버튼을 누릅니다. 어디에서 오류가 발생하는지 알 수 있습니다.



^ 다이쇼 | 쇼와 | 헤세이 | 레이와 $를 시각화



바로 서두의 정규 표현 ^大正|昭和|平成|令和$ 를 입력해 봅시다.



일본어에는 대응하지 않는 것 같습니다.

우선 읽기 쉽도록 로마자로 둡니다.



문자열 시작( Begin! )이 Taisho 부분에만 적용되고 문자 끝( End! )도 Reiwa에만 적용됩니다.

^(다이쇼|쇼와|헤세이|영화)$를 가시화


^(大正|昭和|平成|令和)$ 를 입력해 봅시다.



읽기 쉽도록 로마자로 만듭니다.



문자열의 시작( Begin! )이 전체에 적용되고 문자의 끝( End! )도 전체에 적용되고 있습니다.

그 밖에도, 이런 때를 알아차릴 것입니다.



그룹화 도중에 하이픈을 하이픈의 의미로 넣었는데, 범위를 나타내 버린 경우



이런 느낌의 정규 표현을 만들고 싶을 때
  • 1자 이상 32자 이하
  • 사용 가능한 문자열은 반각 영숫자와 #$%&()-._

  • 그대로^[0-9a-zA-Z#$%&()-._]{1,32}$ 라고 쓰면,


    )-. 의 부분이 범위를 나타내 버리고 있는 것을 눈치챌지도 모릅니다.

    이 경우 수정의 예는 ^[-0-9a-zA-Z#$%&()._]{1,32}$입니다.



    의도한 결과가 되었습니다.

    (덤) 팀 내에서 사용하는 경우



    입력한 정규식은 URL의 쿼리 부분에 포함되므로 다른 사용자와 공유하기 쉽습니다.



    리뷰를 할 때 리뷰를 받는 사람이 정규 표현식 줄에 Regulex URL을 주석 처리하거나 소스 코드의 주석으로 Regulex URL을 작성하는 것이 좋습니다.

    결론



    프로그래밍 언어 외에 정규 표현도 기억하지 않으면 안된다니 힘들기 때문에, 툴을 점점 사용해 갑시다!

    좋은 웹페이지 즐겨찾기