텍스트 마이닝을 수행할 때 TSQL의 와일드카드 문자(Wildchar)가 부족한 것 같습니다. 이때 "CLR + 정규식"을 사용하는 것은 매우 복잡한 것처럼 보이지만 항상 그렇습니다. Zong님, 정규식의 메타데이터에 능숙하다면 정규식을 능숙하고 유연하게 사용하여 복잡한 텍스트 마이닝 작업을 완료할 수 있을 것입니다.
1. 정규 표현식의 특수 문자
1. 일반적으로 사용되는 메타 문자
는 특정 문자(문자, 숫자, 기호)를 일치시키는 데 사용됩니다. sensitive 작성:
.: 줄 바꿈을 제외한 모든 문자와 일치합니다.
w: 문자, 숫자, 밑줄 또는 중국어 문자와 일치합니다.
s: 모든 공백 문자와 일치합니다.
d: 숫자와 일치합니다.
b: 단어의 시작 또는 끝과 일치
^: 문자열의 시작과 일치
$: 문자열의 끝과 일치
k: 그룹 이름을 참조합니다. 예: k는 참조를 의미합니다. group_name
group_number라는 그룹: group_number는 그룹의 그룹 번호(1, 2, 3 등)입니다. 이는 그룹이 그룹 번호
2, 반복되는 문자 또는 그룹
?: 0회 또는 1회 반복
{n}: n회 반복
{n,}: n회 이상 반복
{n,m}: n~m회 반복
3, 그룹화, 이스케이프, 분기, 한정자
<>: 그룹 이름을 정의합니다. < 그룹 이름
: 이스케이프 문자, 특수 문자를 일반 문자로 변환합니다. 예: (, 괄호 "("를 나타내며 괄호는 더 이상 특수 문자로 사용되지 않습니다.
|: 분기, 표현식 간의 관계는 "or"입니다.
[] : 정규화된 문자 목록을 지정합니다. 문자는 목록의 모든 문자와 일치해야 합니다. 예를 들어 다음과 같습니다. [aeiou] 문자는 aeiou; [^] : 제외된 문자를 지정합니다. 문자는 제외 목록의 어떤 문자도 될 수 없습니다. 제외된 문자 목록은 괄호 안에 지정됩니다. 예: [^aeiou] 문자는 aeiou에 있는 어떤 문자도 될 수 없습니다. . 그룹 참조
그룹화는 괄호를 사용하여 지정하는 하위 표현식입니다. 그룹화 참조는 정규식을 보다 간결하게 만들기 위해 표현식에서 하위 표현식을 반복적으로 사용하는 것을 의미합니다. 기본적으로 그룹화는 자동으로 이루어집니다. 그룹 번호가 할당됩니다. 그룹 번호는 1부터 시작하여 왼쪽에서 오른쪽으로 1씩 증가합니다(예: 첫 번째 그룹의 그룹 번호는 1이고 그룹은 1입니다). 두 번째 그룹의 번호는 1입니다. 번호는 2입니다.
(?exp) : 그룹 이름을 지정하고 그룹 이름을 통해 그룹을 참조합니다.
(?:exp) : 그룹은 현재 위치의 텍스트와만 일치합니다. 그룹은 참조할 수 없습니다. 그룹 이름과 그룹 번호가 없습니다.1, 그룹 번호를 통해 그룹을 참조하세요
정규식 뒤에 그룹(exp)을 정의합니다. 표현식의 경우 그룹 번호를 통해 그룹을 참조할 수 있습니다. 그룹 참조 구문은 다음과 같습니다. :group_number;
(?<=exp): 앞 부분입니다. 텍스트의 표현식이 exp와 일치하고, exp 위치 뒤의 표현식을 반환합니다.
(?!exp): 텍스트의 접미사가 exp가 아니며, 접미사가 exp가 아닌 표현식을 반환합니다.(? < ; !exp): 텍스트의 접두사가 exp가 아니고 접두사를 반환합니다. exp가 아닌 표현식
1, 접미사 일치
(?=exp): 표현식 exp는 텍스트 뒤에 일치합니다. , exp 위치 앞의 표현식이 반환됩니다. 접미사 일치는 TSQL의 "%ing"과 유사합니다.
분석: 접미사가 ing이고 단어의 끝(b)인지 확인하고, ing으로 끝나는 단어를 일치시키되, 단어의 앞 부분, 즉 ing 앞 부분을 반환합니다. 예를 들어 "I'm reading a book"을 찾으면 이 문자가 ing으로 끝나기 때문에 "reading"과 일치합니다. 이 정규식은 반환된 텍스트에 접미사가 포함되어 있지 않다고 가정하여 read를 반환합니다.
2, 접두사 매칭
(?<=exp): 텍스트 앞부분이 exp 표현식과 일치하고, exp 위치 뒤의 표현식이 반환됩니다. 접두사 일치는 TSQL의 "re%"와 유사합니다.
예: 정규식: (?<=bre)w+b
분석: 단어의 시작(b) 및 접두사 단어 중 re가 re로 시작하는 단어와 일치하고, 단어의 후반부인 re 뒤의 부분을 반환합니다.
예를 들어 "I am reading a book"을 찾으면 "reading"과 일치합니다. " 문자 앞에 Starting with re가 있기 때문에 이 정규식은 반환된 텍스트에 접두사가 포함되지 않음을 확인하면서 ading을 반환합니다.
3. 접두사 또는 접미사가 특정 텍스트가 아닌 텍스트를 찾습니다.
이 두 가지 주장 검색은 이전 두 가지와 반대이며 효과가 거의 없습니다.
( ?!exp): 텍스트의 접미사가 exp가 아니고, 접미사가 exp가 아닌 표현식이 반환됩니다.
(? < !exp): 텍스트의 접두사가 입니다. exp가 아니고 접두사가 exp가 아닙니다.3.1 예를 들어 정규식 수식: bw+(?!ingb)
분석: ing으로 끝나는 단어를 일치시키지 말고 "I am"을 검색하세요. reading a book", 반환된 텍스트: I, am, a, book
3.2 예를 들어 정규식: (?< !bre)w+b
분석: 단어가 일치하지 않습니다. re로 시작하여 "I am reading a book"을 검색하면 반환된 텍스트: I, am, a,book