가장자리를 약간 밀었지만 다음 정규 표현식 (")"이있는 상황이 있습니다. 문자열을 문자열로 분할하는 데 사용되는 경우 [ ] 배열을 사용하면 결과가 나에게 다소 이상합니다.빈 그룹 "()"이있는 정규 표현식이 이상한 결과를 반환합니다
string[] res = new Regex("()").Split("hi!");
세트 res
9 가능한 요소들의 어레이 (!) : 예 코드의 라인 "!"[ "", "", "H", "", "I", "", , "", ""]
나는 [h "," ","i "," ","! " ]. 이 특별한 결과가 필요한 이유는 다른 regexp 라이브러리와의 호환성을위한 것입니다 ...
정규 표현식 개체 또는 일부 인코딩 문제 또는 이와 유사한 일부 옵션이 없기 때문에이 문제가 발생할 수 있습니까? 아니면 그것은 어떤 방식으로 결정되며 확실히 작동해야하는 올바른 방법입니까? 또한 두 번째 (예상) 결과를 반환하도록 강제하는 방법이 있습니까?
당신이 그런 기괴한 정규식을 사용하도록 강제하는 호환성 문제를 명확히 수 있을까? –
+1 정말 재미있는, 아마도 쓸모없는 질문입니다! –
내가 이것을 파고 들기 시작한 이유는 Ruby 정규 표현식이 작동하는 방식과 호환되도록 만드는 것입니다. 특히 IronRuby의 스펙 중 하나를 통과 시키십시오. .NET에서의 구현이 더 정확한 것 같지만 ... –