[unix] 정규식을 시각적으로 구축하기위한 소프트웨어?

스크립트에서 사용할 정규 표현식을 작성해야하는 경우가 많지만 (대부분에 사용되는 경우 sed) 정규 표현식이 이해하기 어렵고 복잡하기도합니다. 정규식에 대한 코드를 시각적으로 작성하여 스크립트에 복사하여 붙여 넣을 수있는 소프트웨어가 있습니까?



답변

방법에 대한 시각 정규 표현식 ?

http://laurent.riesterer.free.fr/regexp/screenshot2.png


답변


답변

시도 txt2regex 하고 도움이되는지 확인합니다. 나는 그것을 심각하게 사용한 적이 없지만 그것을 시험해 보았을 때 멋지게 보였다.


답변

kodos 독립형 응용 프로그램을 선호하는 경우. 최근에 http://debuggex.com 또는 http://www.regexper.com/ 과 같은 온라인 정규식 시각화 도구를 사용하고 있습니다 .


답변

OP가 요구하는 정확한 것은 아니지만 관련성이 있다고 생각하므로 Regex 편집기에 대한 권장 사항을 게시 할 것 입니까? # 549107-우분투에게 물어보십시오 :

시각적 정규식 GUI 도구에 대한 나의 시도는 다음과 같습니다 visRegexTester.py.

“regex”필드를 입력하고 변경하면 “실시간 미리보기”( “자동 재실행”)가 있습니다. 그렇지 않으면 그것은 단지 하나의 파일입니다. 시작 부분에 README 주석이 있습니다-여기에 발췌 문장이 있습니다.

visRegexTester는 정규 표현식 작성을 지원하는 작은 Python / Tkinter GUI 애플리케이션입니다. Python 2.7 및 3.2로 테스트되었습니다. 사실, 다른 명령 줄 프로그램의 인터페이스는 단지이다는 사실을 활용하는 터미널에서 정규식 프로세서 (예를 들어, 사용 유닉스 / GNU / 리눅스 프로그램의 많은 grep,
sed, perl), 세 가지의 유사한 명령 줄 구문이 부속:

(프로그램 –ARGS) ( ‘REGEX’) (FILENAME)

… 자세한 내용은 나머지 부분을 참조하십시오. 스크린 샷 :

visRegexTester_01.png


답변

예, text2re.com 은 귀하가 찾고있는 것과 가까이 있어야합니다. 주어진 소스 텍스트에서 주어진 텍스트와 일치하는 정규식을 생성하도록 선택할 수 있습니다. 이 도구는 다양한 언어를위한 코드도 생성합니다.

정규식 작성기 UI (페이지의 2 단계)는 배우기가 약간 어렵습니다. 옵션 위로 마우스를 가져 가면 일치하는 개체가 설명됩니다.

정규식 도구 UI


답변

“시각적으로 코드를 작성하십시오” 라는 의미가 무엇인지 잘 모르겠습니다 (GUI 도구를 의미합니까?). 당신이 나와 같다면 복잡한 정규 표현식으로 구조화 된 방식으로 배치하지 않으면 복잡한 표현을 사용할 수 없으므로 논리를 더 잘 시각적으로 표현할 수 있습니다 .

실제로 sed는 스크립트 언어 일 뿐이며 다른 언어와 같이 배치 될 수 있습니다. 한 줄에 하나의 명령으로. 다음은 내가 의미하는 전형적인 예입니다 . 구조화 된 레이아웃을 보여주는 sed 정규식 .

매우 편리한 기능은 디버깅 명령 입니다. sed이 명령 은 다음과 같이 개행 문자가 포함 된 패턴 공간을 보여주는 간단한 행 덤프입니다 . l\n

문제 sed는 정규 표현식 만이 아닙니다. 루핑 및 조건 테스트를위한 펑키 한 암호 명령 세트가 있습니다. 이것에 익숙해지기까지 시간이 걸린다 … 내가 다루는 것을 돕기 위해 내가 찾은 최고의 도구 sed는 아주 간단하다. 나는 매뉴얼을 자세히 읽는다 . 간단한 일들; 경험을 쌓기 위해 더 큰 것들을 쌓으세요

Perl 정규식에는 복잡한 패턴을 배치하는 데 도움이되는 유용한 기능이 있습니다. 예. 능력은 도전으로 (.. 표현식에 공백을 무시하고 대한 expereince의 요인, 내가 쓴 sed내 구문 분석 파서 sed… 이러한 공백을 허용하는 코드를 PS를 지금 필요하지 않습니다. 때문에 경험 🙂 실제로 한 줄에 하나씩 명령을 배치하는 것은 거의 perl 기능만큼 좋습니다.

가장 유용한 도구는 다음과 같습니다. 경험 . 예. 이 사이트에서 정규식 질문을 다루는 것이 그 경험을 얻는 좋은 방법입니다 … GUI 도구는 경험 을 방해하기 때문에 실제로 많은 도움이되지 않는다고 생각 합니다

요약하면, 최고의 도우미 도구는 경험구조화 된 레이아웃 이며 설명서를 자세히 읽으십시오.

나는 “expereince”라는 단어를 많이 사용했다. 그것은 정규 표현식 (그리고 sed루핑 로직 등 의 경우)을 준비하는 행위 가 핵심 요소라는 것을 의미한다. “Regex-Builder”타입 도구; 정규식을 작성하지 마십시오. 그들은 그것을 테스트하고, 그것은 정규식이 아니기 때문에 sed의 프로그램 논리 를 확실히 처리하지 않을입니다 .. (그리고 당신은 구체적으로 지적했습니다 sed…) . 대괄호 일치가 좋은 편집기는 꽤 편리합니다 (이맥스를 사용합니다).