데이터베이스 에서 정규 표현 식 소결 사용 하기

이 글 은 두 가지 예 시 를 통 해 데이터베이스 에 정규 표현 식 소결 을 사용 하 는 것 을 소개 합 니 다.여기 서 더 이상 말 하지 않 겠 습 니 다.구체 적 인 내용 은 아래 의 상세 한 설명 을 보십시오.
예시 1:

CREATE FUNCTION dbo.RegExpTest ( 
@source varchar(), --          
@regexp varchar(), --      
@ignorecase bit = --       ,   false 
) 
RETURNS bit --    -false,-true 
AS 
BEGIN 
--(  )     (  ),  OLE         HRESULT     。 
DECLARE @hr integer 
--           ,             
DECLARE @objRegExp integer DECLARE @objMatches integer 
--     
DECLARE @results bit 
/* 
  OLE     ,  sysadmin               sp_OACreate,       VBScript.RegExp   
*/ 
EXEC @hr = sp_OACreate 'VBScript.RegExp', @objRegExp OUTPUT 
IF @hr <> BEGIN 
SET @results = 
RETURN @results 
END 
/* 
다음 세 가 지 는 각각 새 대상 을 설정 하 는 세 가지 속성 입 니 다.다음은'VBScript.RegExp'에서 자주 사용 하 는 속성 예 입 니 다.

Dim regEx,Match,Matches '    。 
Set regEx = New RegExp '       。 
regEx.Pattern= patrn '    。 
regEx.IgnoreCase = True '         。 
regEx.Global=True '       。 
set Matches=regEx.Execute(string) '       
RegExpTest = regEx.Execute(strng) '    。 
for each match in matches '       
RetStr=RetStr &"Match found at position " 
RetStr=RetStr&Match.FirstIndex&".Match Value is '" 
RetStr=RetStr&Match.Value&"'."&vbCRLF Next 
RegExpTest=RetStr 
*/ 
EXEC @hr = sp_OASetProperty @objRegExp, 'Pattern', @regexp 
IF @hr <> BEGIN 
SET @results = 
RETURN @results 
END 
EXEC @hr = sp_OASetProperty @objRegExp, 'Global', false 
IF @hr <> BEGIN 
SET @results = 
RETURN @results 
END 
EXEC @hr = sp_OASetProperty @objRegExp, 'IgnoreCase', @ignorecase 
IF @hr <> BEGIN 
SET @results = 
RETURN @results 
END 
--       
EXEC @hr = sp_OAMethod @objRegExp, 'Test', @results OUTPUT, @source 
IF @hr <> BEGIN 
SET @results = 
RETURN @results 
END 
--      OLE    
EXEC @hr = sp_OADestroy @objRegExp 
IF @hr <> BEGIN 
SET @results = 
RETURN @results 
END 
RETURN @results 
END 
--      
sp_configure 'show advanced options',
reconfigure
--      
sp_configure 'Ole Automation Procedures',
reconfigure
예시 2:
REGEXP 와 NOT REGEXP 연산 자(또는 RLIKE 와 NOT RLIKE,동의어)를 사용 하여 일치 하 는 테스트 를 진행 합 니 다.
정규 표현 식 을 확장 하 는 문 자 는 다음 과 같 습 니 다.
・         ‘.'모든 단일 문자 와 일치 합 니 다.
・         문자 클래스"[...]"는 괄호 안에 있 는 모든 문자 와 일치 합 니 다.예 를 들 어'[abc]'는'a','b'또는'c'와 일치 합 니 다.문자 의 범 위 를 명명 하기 위해"-"를 사용 합 니 다."[a-z]'는 모든 자모 와 일치 하고'[0-9]'는 모든 숫자 와 일치 합 니 다.
・         “ * ”0 개 이상 의 문자 와 일치 합 니 다.예 를 들 어'x*'는 모든 수량의'x'문자 와 일치 하고'[0-9]*'는 모든 수량의 숫자 와 일치 하 며'*'는 모든 수량의 모든 문자 와 일치 합 니 다.
REGEXP 모드 가 테스트 된 값 의 어느 곳 과 일치 하면 패턴 이 일치 합 니 다.(이것 은 LIKE 모드 와 일치 하지 않 습 니 다.전체 값 과 일치 해 야 패턴 이 일치 합 니 다.)
테스트 값 의 시작 이나 끝 에 일치 해 야 하 는 모드 를 찾 으 려 면 모드 시작 에"^"를 사용 하거나 모드 의 끝 에"$"를 사용 하 십시오.
mysql 실례:
my name 에서 w 로 시작 하 는 데 이 터 를 조회 합 니 다:

my name 에서 g 로 끝 나 는 데 이 터 를 조회 합 니 다:

w 포함 데이터 조회:

여섯 글자 가 포 함 된 데이터:

"{n}""n 회 반복"연산 자 를 사용 할 수 있 습 니 다:

이상 의 내용 은 우리 가 여러분 에 게 두 단락 의 예 시 를 통 해 공유 하 는 데이터베이스 에 정규 표현 식 소결 을 사용 하 는 것 입 니 다.여러분 에 게 도움 이 되 기 를 바 랍 니 다.

좋은 웹페이지 즐겨찾기