>php教程 >PHP开发 >쉘 정규식의 상세한 배열

쉘 정규식의 상세한 배열

高洛峰
高洛峰원래의
2016-12-26 16:55:171271검색

셸에서 자주 사용되는 정규식

“^d+$” //음이 아닌 정수(양의 정수 + 0)
“^[0-9]*[1-9 ][ 0-9]*$” //양의 정수
“^((-d+)|(0+))$” //양이 아닌 정수(음의 정수 + 0)
“^-[ 0-9 ]*[1-9][0-9]*$" //음의 정수
"^-?d+$" //정수
"^d+(.d+)?$" // 음수가 아닌 부동 소수점 숫자(양의 부동 소수점 숫자 + 0)
“^(([0-9]+.[0-9]*[1-9][0-9]*)|([0 -9]*[1 -9][0-9]*.[0-9]+)|([0-9]*[1-9][0-9]*))$” //양수 부동 포인트 수
“^ ((-d+(.d+)?)|(0+(.0+)?))$” //양수가 아닌 부동 소수점 수(음의 부동 소수점 수 + 0)
“^(-(([0-9 ]+.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]* .[0-9]+)|( [0-9]*[1-9][0-9]*))))$” //부동 소수점 숫자
“^(-?d+)(. d+)?$” //부동소수점수
"^[A-Za-z]+$" //영문 26자로 구성된 문자열
"^[A-Z]+$" //구성된 문자열 영문 대문자 26자
"^[a-z]+$" //영문 소문자 26자로 구성된 문자열
"^[A-Za-z0-9]+$" //숫자로 구성된 문자열 및 영문 26자 문자열
“^w+$” //숫자, 영문자 26자 또는 밑줄로 구성된 문자열
“^[w-]+(.[w-]+)*@[w-]+ (.[w-]+)+$” //이메일 주소
“^[a-zA-z]+://(w+(-w+)*)(.(w+(-w+)*)) *(?S*)?$” //url
/^(d{2}|d{4})-((0([1-9]{1}))|(1[1|2 ]))-(([0-2]([1-9]{1}))|(3[0|1]))$/ // 연-월-일
/^((0( [1-9]{1}))|(1[1|2]))/(([0-2]([1-9]{1}))|(3[0|1]))/ (d{2}|d{4})$/ // 월/일/년
“^([w-.]+)@(([[0-9]{1,3}.[0 -9]{1,3}.[0-9]{1,3}.)|(([w-]+.)+))([a-zA-Z]{2,4}|[0 -9]{1,3})(]?)$” //에밀
/^((+?[0-9]{2,4}-[0-9]{3,4}-) |([0-9]{3,4}-))?([0-9]{7,8})(-[0-9]+)?$/ //전화번호
“^( d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5]) .(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5 ])$” //IP 주소

정규식 일치 중국어 문자: [u4e00-u9fa5]
2바이트 문자 일치(한자 포함): [^x00-xff ]
빈 줄과 일치하는 정규식: n[s| ]*r
HTML 태그와 일치하는 정규식: /<(.*)>.*|<( .*) />/
선행 및 후행 공백과 일치하는 정규식: (^s*)|(s*$)
이메일 주소와 일치하는 정규식: w+([-+.]w+)* @w+([-.]w+) *.w+([-.]w+)*
정규식 일치 URL: ^[a-zA-z]+://(\w+(-\w+ )*)(\.(\w+(-\ w+)*))*(\?\S*)?$
일치하는 계정이 합법적입니까(문자로 시작, 5-16바이트 허용, 영숫자 밑줄 허용) :^[a-zA-Z][a -zA-Z0-9_]{4,15}$
국내 전화번호 일치: (d{3}-|d{4}-)?(d{8 }|d{7})? Tencent QQ 번호와 일치: ^[1-9]*[1-9][0-9]*$

메타 문자 및 해당 정규 표현식 표현식 컨텍스트에서의 동작:


다음 문자를 특수 문자, 리터럴 문자, 역참조 또는 8진수 이스케이프 문자로 표시합니다.


^은 입력 문자열의 시작 부분과 일치합니다. RegExp 개체의 Multiline 속성이 설정된 경우 ^는 'n' 또는 'r' 뒤의 위치와도 일치합니다.


$는 입력 문자열의 끝 위치와 일치합니다. RegExp 개체의 Multiline 속성이 설정된 경우 $는 'n' 또는 'r' 앞의 위치와도 일치합니다.


* 이전 하위 표현식과 0회 이상 일치합니다.


+는 이전 하위 표현식과 한 번 이상 일치합니다. +는 {1,}과 같습니다.


? 이전 하위 표현식과 0번 또는 1번 일치합니다. ? {0,1}과 동일합니다.


{n} n은 특정 n번과 일치하는 음이 아닌 정수입니다.


{n,} n은 n번 이상 일치하는 음수가 아닌 정수입니다.


{n,m} m과 n은 모두 음이 아닌 정수입니다. 여기서 n <= m입니다. 최소 n회, 최대 m회 일치합니다. 쉼표와 두 숫자 사이에는 공백이 있어서는 안 됩니다.


? 이 문자가 다른 제한자(*, +, ?, {n}, {n,}, {n,m}) 바로 뒤에 오면 일치 패턴은 욕심이 없습니다. Non-greedy 모드는 검색된 문자열을 최대한 적게 일치시키는 반면, 기본 Greedy 모드는 검색된 문자열을 최대한 많이 일치시킵니다.


. "n"을 제외한 모든 단일 문자와 일치합니다. 'n'을 포함한 모든 문자를 일치시키려면 '[.n]'과 같은 패턴을 사용하십시오.
(pattern)은 패턴과 일치하여 이 일치 항목을 얻습니다.


(?:pattern)은 패턴과 일치하지만 일치 결과를 얻지 못합니다. 즉, 이는 비획득 일치이며 나중에 사용하기 위해 저장되지 않습니다.


(?=pattern) 정방향 조회, 패턴과 일치하는 문자열의 시작 부분에서 검색 문자열을 일치시킵니다. 이는 가져오지 않는 일치입니다. 즉, 나중에 사용하기 위해 일치 항목을 가져올 필요가 없습니다.


(?!pattern) (?=pattern)


x|y는 x 또는 y와 일치하는 부정 조회입니다.


[xyz] 문자 집합입니다.


[^xyz] 부정적인 문자 집합입니다.


[a-z] 문자 범위는 지정된 범위 내의 모든 문자와 일치합니다.


[^a-z] 음수 문자 범위, 지정된 범위 내에 없는 모든 문자와 일치합니다.


b는 단어와 공백 사이의 위치를 ​​나타내는 단어 경계와 일치합니다.


B는 단어가 아닌 경계와 일치합니다.


cx는 x가 지정한 제어 문자와 일치합니다.


d는 숫자와 일치합니다. [0-9]와 동일합니다.


D는 숫자가 아닌 문자와 일치합니다. [^0-9]와 동일합니다.


f는 폼 피드와 일치합니다. x0c 및 cL과 동일합니다.


n은 개행 문자와 일치합니다. x0a 및 cJ와 동일합니다.


r은 캐리지 리턴 문자와 일치합니다. x0d 및 cM과 동일합니다.


은 공백, 탭, 폼 피드 등을 포함한 모든 공백 문자와 일치합니다. [fnrtv]와 동일합니다.


S는 공백이 아닌 모든 문자와 일치합니다. [^ fnrtv]와 동일합니다.


탭 문자와 일치하지 않습니다. x09 및 cI와 동일합니다.


v는 세로 탭 문자와 일치합니다. x0b 및 cK와 동일합니다.


w는 밑줄을 포함한 모든 단어 문자와 일치합니다. '[A-Za-z0-9_]'와 동일합니다.


W는 단어가 아닌 문자와 일치합니다. '[^A-Za-z0-9_]'와 동일합니다.


xn은 n과 일치합니다. 여기서 n은 16진수 이스케이프 값입니다. 16진수 이스케이프 값은 정확히 두 자리 길이여야 합니다.


num은 num과 일치하며, 여기서 num은 양의 정수입니다. 획득한 일치 항목에 대한 참조입니다.


n은 8진수 이스케이프 값 또는 역참조를 식별합니다. n 앞에 가져온 n개 이상의 하위 표현식이 있으면 n은 역참조입니다. 그렇지 않고 n이 8진수(0-7)이면 n은 8진수 이스케이프 값입니다.


nm은 8진수 이스케이프 값 또는 역참조를 식별합니다. nm 앞에 가져온 하위 표현식이 nm 이상 있으면 nm은 역참조입니다. nm 앞에 최소한 n 개의 가져오기가 오면 n은 역참조이고 그 뒤에 리터럴 m이 옵니다. 이전 조건 중 어느 것도 참이 아니고 n과 m이 모두 8진수(0-7)인 경우 nm는 8진수 이스케이프 값 nm과 일치합니다.


nml n이 8진수(0-3)이고 m과 l이 모두 8진수(0-7)인 경우 8진수 이스케이프 값 nml과 일치합니다.


un은 n과 일치합니다. 여기서 n은 4개의 16진수 숫자로 표시되는 유니코드 문자입니다.


한자 일치 정규식: [u4e00-u9fa5]


2바이트 문자 일치(한자 포함): [^x00-xff]


정규식 빈 줄과 일치하는 표현식: n[s| ]*r


HTML 태그와 일치하는 정규 표현식: /<(.*)>.* />/


정규 표현식 일치 선행 및 후행 공백: (^s*)|(s*$)


이메일 일치 주소 정규 표현식: w+( [-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*


URL 일치를 위한 정규 표현식 표현식: http://([ w-]+.)+[w-]+(/[w- ./?%&=]*)?


정규식을 사용하여 입력 내용을 제한하세요. 웹 양식의 텍스트 상자:

정규식을 사용하여 중국어 입력만 제한: onkeyup=”value=value.replace(/[^u4E00-u9FA5] /g,”)” onbeforepaste =”clipboardData.setData('text',clipboardData.getData('text').replace(/[^u4E00-u9FA5]/g,”))”


정규 표현식을 사용하여 전각 문자만 입력: onkeyup=”value=value.replace(/[^uFF00-uFFFF]/g,”)” onbeforepaste=”clipboardData.setData('text',clipboardData.getData(' text'). replacement(/[^uFF00-uFFFF]/g,”))”


정규식을 사용하여 숫자 입력만 제한합니다: onkeyup="value=value.replace(/[ ^d] /g,”) “onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^d]/g,"))"


사용 입력을 숫자와 영어로만 제한하는 정규식: onkeyup="value=value.replace(/[W]/g,") "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text ')). replacement(/[^d]/g,”))”

자주 사용하는 정규식



중국어 정규식 일치 문자: [u4e00-u9fa5]


는 2바이트 문자(한자 포함)와 일치합니다. [^x00-xff]


은 빈 줄과 일치합니다. 정규식: n[ s| ]*r


HTML 태그와 일치하는 정규식: /<(.*)>.*|<(. *) />/


선행 및 후행 공백과 일치하는 정규식: (^s*)|(s*$)


IP 주소와 일치하는 정규식 :/(d+).(d+).( d+).(d+)/g //


이메일 주소와 일치하는 정규식: w+([-+.]w+)*@w+ ([-.]w+)*.w+([- .]w+)*


정규식 일치 URL: http://(/[w-]+.)+[ w-]+(/[w- ./?%&=] *)?


sql 문: ^(select|drop|delete|create|update|insert ).*$



1. 음수가 아닌 정수: ^d+$


2. 양의 정수: ^[0-9]*[1-9][0-9] * $


3. 양수가 아닌 정수: ^((-d+)|(0+))$


4. 9] *[1-9][0-9]*$


5. 정수: ^-?d+$


6. : ^d+( .d+)?$


7. 양의 부동 소수점 수: ^((0-9)+.[0-9]*[1-9][0-9] *)|([ 0-9]*[1-9][0-9]*.[0-9]+)| ([0-9]*[1-9][0-9]*)) $


8. 양수가 아닌 부동 소수점 수: ^((-d+.d+)?)|(0+(.0+)?))$


9. 음수 부동 소수점 숫자: ^(-((양수 부동 소수점 정규 표현식)))$


10. 영어 문자열: ^[A-Za-z]+$


11. 영문 대문자 문자열: ^[A-Z]+$


12. 영문 소문자 문자열: ^[a-z]+$


13. 문자 및 숫자 문자열: ^[A -Za-z0-9]+$


14. 영숫자 및 밑줄 친 문자열: ^w+$


15. 주소: ^[w-] +(.[w-]+)*@[w-]+(.[w-]+)+$


URL: ^[a- zA-Z]+:/ /(w+(-w+)*)(.(w+(-w+)*))*(?s*)?$
또는: ^http://[A-Za- z0-9]+.[ A-Za-z0-9]+[/=?%-&_~`@[]':+!]*([^& lt;>""])*$


17. 우편번호: ^[1-9]d{5}$


18. 중국어: ^[u0391-uFFE5]+$


19. 전화번호 :^(((d{2,3}))|(d{3}-))?((0d{2,3})|0d{2,3}-)?[ 1-9] d{6 ,7}(-d{1,4})?$


20. 휴대폰 번호: ^(((d{2,3}))|( d{3}-))? 13d{9}$


21. 2바이트 문자(한자 포함): ^x00-xff

22. 공백: (^s*)|( s*$) (vbscript와 같은 다듬기 기능)

23. HTML 태그 일치: <(.*)>.*|<( .*) />

24. 빈 줄 일치: n[s| ]*r

25. 정보에서 네트워크 링크 추출: (h|H)(r|R)( e|E)(f |F) *= *('|")?(w|\|/|.)+('|"| *|>)?

26. 정보의 주소: w+( [-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*

27. : (s|S)(r |R)(c|C) *= *('|")?(w|\|/|.)+('|"| *|>)?

28. 정보 IP 주소 추출: (d+).(d+).(d+).(d+)

29. 정보에서 중국 휴대폰 번호 추출: (86)*0*13d{ 9}

30. 정보에서 중국 고정 전화번호를 추출합니다: ((d{3,4})|d{3,4}-|s)?d{8}

31. 정보 번호(휴대폰 및 유선 포함)에서 중국 전화번호를 추출합니다: ((d{3,4})|d{3,4}-|s)?d{7,14}

32. 추출된 정보의 China Post 인코딩: [1-9]{1}(d+){5}

33. 정보에서 부동 소수점 숫자(예: 소수) 추출: (-?d *).?d+

34. 정보에서 임의의 숫자를 추출합니다: (-?d*)(.d+)?

35. d+).(d+)

36. 전화 지역 코드: /^0d{2,3}$/

37. Tencent QQ 번호: ^[1-9]*[1- 9][0-9]*$

38. 계좌 번호(문자로 시작, 5-16바이트 허용, 영숫자 밑줄 허용): ^[a-zA-Z][a-zA-Z0 -9_]{4,15}$

39, 중국어, 영어, 숫자 및 밑줄: ^[u4e00-u9fa5_a-zA-Z0-9]+$

읽어주셔서 감사합니다 기사가 모든 사람에게 도움이 되기를 바랍니다. 이 사이트를 지원해 주셔서 감사합니다!

쉘 정규식에 대한 더 자세한 글은 PHP 중국어 홈페이지를 참고해주세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.