주어진 문자열 java.util.regex.Pattern에 의해 첫 번째 문자으로 일치 할 수있는 모든 문자 집합을 문자열로 계산할 수 있기를 원합니다. 보다 공식적으로 DFA가 특정 정규식과 동일한 경우 시작 상태에서 나가는 모든 전환 집합을 원합니다. 예 : Pattern p = Pattern.compile("[abc]def|daniel|chris|\\
는 (내가 대답을 발견, 그 아래에 다른 사람을위한 주석) 내가있는 더 나은 사용하고 컴파일러에서 무엇을 circumstanes NFA 또는 토론을 찾고 있어요 dfa. nfa 대 dfa를 시뮬 레이팅하는 시간 복잡성 거래는 무엇이고 컴파일러에서 어떤 상황에서 더 적합합니까 ?? 은 대학 시험에 도움을 개정 메신저 크게 apriciated 될 것입니다 감사
해당 항목이 있습니까? 라이브러리 NFAs로 변환 하시려면이 필요하십니까? 주제에 관한 많은 학술 논문을 보았습니다. 도움이되었지만 작업 코드의 방식에는 그다지 중요하지 않았습니다. 내 질문은 부분적으로 호기심 때문에 발생하며 부분적으로는 실제로 작업중인 프로덕션 시스템에서 정규 표현식 일치 속도를 높이기 위해 필요합니다. 학습을 위해이 주제를 탐구하는 것
주어진 두 DFA의 합집합을 생성하는 알고리즘에 대한 간단한 설명이 있습니까? 예를 들어, 우리는 두 DFA의 이상 {0,1}이 말을 어디 {w|w has an odd number of characters}
w has states A and B
delta | 0 | 1
----------------
A | B | B
--------
는이 일을 도와 .... 내가 어떻게 정규 표현식이 NFA 및/또는 DFA에 의해 허용할지 여부를 판단하는 ''되는 주요 질문이 희망? 예 : 제 질문은 정규식 중 어느 것이 동등한가요? 설명 ... 1 (a + b) ** B (a + b) ** B (a + b) * 2.A BA는 BA * 3.A BA b (a + b) * 우리는 NFA와 DFA를 그리고
문제점 : 큰 정적 정적 문자열 목록이 제공됩니다. 데이터와 와일드 카드 요소 (*와?)로 구성된 패턴 문자열. 아이디어는 패턴과 일치하는 모든 문자열을 반환하는 것입니다. 현재 솔루션 : 현재 큰 목록을 검색하고 각 항목을 패턴과 대조하는 선형 접근 방식을 사용하고 있습니다. 내 질문 : 검색의 복잡성이 O (n)보다 적도록 큰 목록을 저장할 수있는 적합