일반 형식의 항목 번호가 있습니다. 1-3 자리 뒤에 선택적 소문자가오고 그 뒤에 선택적 단일자가오고 그 뒤에 단어 한 개와 선택적 단일 숫자가옵니다. 예를 들어, 다음의 모든 합법적 인 항목 번호는 다음과 같습니다 "21aRepair", "04iMod2", "04d1RR", "5", "07", "8a", "09b", "04g3"
C# 캡쳐 된 그룹 다음에 단어를 캡처하는 정규 표현식
나는 형태의 구성 요소들로 이러한 항목 번호를 중단해야합니다 하나의 옵션 다음에 구성 요소 1) 옵션 소문자 뒤에 1-3 자리
예를 들어자리 구성 요소 2) 단어 구성 요소 3) 선택 한 자리 :
"21aRepair"
이가되어야 "21a", "Repair", null
"04iMod2"
는 "04i", "Mod", "2"
"04d1RR"
이 "04d1", "RR", null
"5"
내가 잘 작동 다음 regex: (^\d{1,3}[a-z]?\d?)
구성 요소 1. 내가 성공하지 않고 구성 요소 2에 대한 몇 가지 옵션을 시도했다 "5", null, null
가되어야이되어야 될 것이다.
나는 다음과 같이 생각했다 : (?<=^\d{1,3}[a-z]?\d?)([a-zA-Z]*\d?)
. lookbehind "(?<="
을 구성 요소 1 패턴에 추가하면 "구성 요소 1 뒤에있는 것이 무엇이든 가져 가십시오"라고 표시되고 그룹 ([a-zA-Z]*\d?)
은 구성 요소 2 및 3과 일치해야합니다. 예상되는 결과가 나오지 않습니다. 누군가 내가 잘못 가고 있다고 말할 수 있습니까?
중간에있는 단어의 첫 번째 문자는 항상 대문자입니까? –