나는 grep atm을 배우고 있지만 나는 클라인 스타 메타 문자의 작동을 이해하는 데 어려움을 겪고있다. 설명서 페이지는 *이 이전 문자와 0 번 이상 일치한다고 설명합니다. 나는 a의 0 개 이상의 발생과 일치해야합니다 다음과 같은 내용 *a
123ab
1234
abcdef
a?
?
grep 'a*' test와라는 이름의 파일 test를 사
(a|b)*과 a*b*의 차이점은 무엇입니까? Kleene 스타와 패턴의 사례를 더 많이 보여줄 수 있습니까? Google의 많은 사이트를 검색했지만이 주제에 대한 결과는 거의 반환되지 않습니다. PHP 정규 표현식의 작동 방식을 이해하려고 노력하면서 매우 감사하게 생각합니다.
주어진 정규식 세트를 단일 NFA로 변환하고 있지만 몇 가지 문제가 있습니다. "ab. * c"('a', 'b', 임의의 문자 수 및 'c'와 일치하는 표현)와 같은 정규 표현식을 어떻게 변환해야합니까? 최종 목표는 단일 NFA를 DFA로 변환하는 것입니다 (그리고 그 부분 집합 생성 알고리즘을 사용하고 있습니다).
: 그것은 LR 수 있도록 S -> G $
G -> PG | P
P -> id : R
R -> id R | epsilon
가 어떻게 문법을 다시합니까 (1)? "id : .id"입력을 구문 분석 할 때 현재 문법에 shift/reduce 충돌이 있습니다. 여기서 "." 파서에 대한 입력 포인터입니다. 이 문법은 정규 표현식 (id : (id) *)
적어도 하나의 Kleene 별이있는 {a, b}를 통해 모든 정규 표현식을 생성하는 문맥 자유 문법을 만들려고합니다. S ::= A + S | A
A ::= B . A | B
B ::= T | B* | (S)
T ::= a | b | eps
나는이 모든 정규 표현식을 생성 할 수 있다고 생각하지만, 내가 주위에 내 머리를 얻을 수없는 것은 적어도