>php教程 >PHP源码 >PHP에서 일반적으로 사용되는 정규식 요약

PHP에서 일반적으로 사용되는 정규식 요약

大家讲道理
大家讲道理원래의
2016-11-08 13:41:20965검색

1. 정규식은 웹사이트를 만들 때 자주 사용됩니다. 참고 및 수정을 위한 몇 가지 설명과 예는 다음과 같습니다.
2. "^d+$" //음수가 아닌 정수(양의 정수 + 0)
3 . "^[0-9]*[1-9][0-9]*$" //양의 정수
4. "^((-d+)|(0+))$" // 비- 양의 정수 (음의 정수 + 0)
5. "^-[0-9]*[1-9][0-9]*$" // 음의 정수
6. "^-?d+ $ " //정수
7. "^d+(.d+)?$" //음수가 아닌 부동 소수점 수(양의 부동 소수점 수 + 0)
8. "^(([0-9]+ .[ 0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*.[0-9]+)|([0 -9 ]*[1-9][0-9]*))$" //양수 부동 소수점 수
9. "^((-d+(.d+)?)|(0+(.0+ )?) )$" //양수가 아닌 부동 소수점 숫자 (음의 부동 소수점 숫자 + 0)
10. "^(-(([0-9]+.[0-9]*[1-9 ][0-9] *)|([0-9]*[1-9][0-9]*.[0-9]+)|([0-9]*[1-9][0 -9]*)) )$" // 음의 부동 소수점 숫자
11. "^(-?d+)(.d+)?$" // 부동 소수점 숫자
12. "^[A-Za -z]+$" // 영문 26자로 구성된 문자열
13. "^[A-Z]+$" // 영문 대문자 26자로 구성된 문자열
14. "^[a-z]+$ " // 영문 소문자 26자로 구성된 문자열
15. "^[A-Za-z0-9]+$" // 숫자와 영문 26자로 구성된 문자열
16. "^ w+$ " // 숫자, 영문 26자 또는 밑줄로 구성된 문자열
17. "^[w-]+(.[w-]+)*@[w-]+(.[w- ]+)+ $" //이메일 주소
18. "^[a-zA-z]+://(w+(-w+)*)(.(w+(-w+)*))*(? S*)? $" //url
19. /^(d{2}|d{4})-((0([1-9]{1}))|(1[1|2] ))-( ([0-2]([1-9]{1}))|(3[0|1]))$/ // 연월일
20. /^((0 ([1- 9]{1}))|(1[1|2]))/(([0-2]([1-9]{1}))|(3[0|1])) /(d{ 2}|d{4})$/ // 월/일/년
21. "^([w-.]+)@(([[0-9]{1,3} .[0- 9]{1,3}.[0-9]{1,3}.)|(([w-]+.)+))([a-zA-Z]{2,4} |[0- 9]{1,3})(]?)$" //에밀
22. /^((+?[0-9]{2,4}-[0-9]{3 ,4}- )|([0-9]{3,4}-))?([0-9]{7,8})(-[0-9]+)?$/ //전화번호
23. "^(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 주소
24.
25. 한자와 일치하는 정규식: [u4e00-u9fa5]
26. 2바이트 문자 일치(한자 포함): [^x00-xff]
27. 빈 줄과 일치하는 정규식: n[s| ]*r
28. HTML 태그와 일치하는 정규식: /.*1>|/
29. 정규식 앞뒤 공백과 일치하는 항목: (^s*)|(s*$)
30. 이메일 주소와 일치하는 정규식: w+([-+.]w+)*@w+([-. ]w+) *.w+([-.]w+)*
31. URL과 일치하는 정규식: ^[a-zA-z]+://(\w+(-\w+)*)( \.(\w+ (-\w+)*))*(\?\S*)?$
32. 일치하는 계정이 적법합니까(문자로 시작, 5-16바이트 허용, 영숫자 밑줄 허용): ^ [a-zA -Z][a-zA-Z0-9_]{4,15}$
33. 국내 전화번호 일치: (d{3}-|d{4}-)?(d{8 }|d{ 7})?
34. Tencent QQ 번호 일치: ^[1-9]*[1-9][0-9]*$
35.
36.
37. 메타 문자 및 정규식의 맥락에서의 동작:
38.
39. 다음 문자를 특수 문자, 리터럴 문자, 역참조 또는 8진수 이스케이프 문자로 표시합니다.
40.
41. ^ 입력 문자열의 시작 부분과 일치합니다. RegExp 개체의 Multiline 속성이 설정된 경우 ^는 'n' 또는 'r' 뒤의 위치와도 일치합니다.
42.
43. $ 입력 문자열의 끝 위치와 일치합니다. RegExp 개체의 Multiline 속성이 설정된 경우 $는 'n' 또는 'r' 앞의 위치와도 일치합니다.
44. 
45. * 이전 하위 표현식과 0회 이상 일치합니다.
46.
47. + 이전 하위 표현식과 한 번 이상 일치합니다. +는 {1,}과 같습니다.
48.
49. ? 이전 하위 표현식을 0번 또는 1번 일치시킵니다. ? {0,1}과 동일합니다.
50. 
51. {n} n은 특정 횟수 n번과 일치하는 음이 아닌 정수입니다.
52. 
53. {n,} n은 음이 아닌 정수이며 n번 이상 일치합니다.
54. 
55. {n,m} m과 n은 모두 음수가 아닌 정수입니다. 여기서 n 56.
57. ? 이 문자 바로 뒤에 다른 제한 기호(*, +, ?, {n} , {n,}, {n,m}) 나중에 일치하는 패턴은 욕심이 없습니다. Non-greedy 모드는 검색된 문자열을 최대한 적게 일치시키는 반면, 기본 Greedy 모드는 검색된 문자열을 최대한 많이 일치시킵니다.
58.
59. "n"을 제외한 모든 단일 문자와 일치합니다. 'n'을 포함한 모든 문자를 일치시키려면 '[.n]'과 같은 패턴을 사용하십시오.
60. (패턴)이 패턴과 일치하여 이 일치 항목을 얻습니다.
61. 62. (?: 패턴) 패턴을 매칭했지만 매칭 결과를 얻지 못했습니다. 즉, 스토리지 공급 없이 매칭을 얻지 못한 후 사용합니다.
63.
64. (?=pattern) 정방향 조회, 패턴과 일치하는 문자열의 시작 부분에서 검색 문자열을 일치시킵니다. 이는 가져오지 않는 일치입니다. 즉, 나중에 사용하기 위해 일치 항목을 가져올 필요가 없습니다.
65.  
66.  (?!pattern) (?=pattern)과 반대되는 부정적인 미리보기  
67.  
68.  x|y는 x 또는 y와 일치합니다.
69.
70. [xyz] 문자 집합입니다.
71.
72. [^xyz] 음수 문자 집합입니다.
73. 
74. [a-z] 문자 범위, 지정된 범위 내의 모든 문자와 일치합니다.
75. 
76. [^a-z] 음수 문자 범위, 지정된 범위 내에 없는 모든 문자와 일치합니다.
77.
78. b는 단어와 공백 사이의 위치를 ​​나타내는 단어 경계와 일치합니다.
79.  
80.  B는 단어가 아닌 경계와 일치합니다.
81.
82. cx는 x가 지정한 제어 문자와 일치합니다.
83.
84. d는 숫자와 일치합니다. [0-9]와 동일합니다.
85.
86. D는 숫자가 아닌 문자와 일치합니다. [^0-9]와 동일합니다.
87.
88. f는 폼 피드와 일치합니다. x0c 및 cL과 동일합니다.
89.
90. n은 개행 문자와 일치합니다. x0a 및 cJ와 동일합니다.
91.
92. r은 캐리지 리턴 문자와 일치합니다. x0d 및 cM과 동일합니다.
93.
94. s는 공백, 탭, 폼 피드 등을 포함한 모든 공백 문자와 일치합니다. [fnrtv]와 동일합니다.
95.
96. S는 공백이 아닌 모든 문자와 일치합니다. [^ fnrtv]와 동일합니다.
97.
98. t는 탭 문자와 일치합니다. x09 및 cI와 동일합니다.
99.
100. v는 세로 탭 문자와 일치합니다. x0b 및 cK와 동일합니다.
101. 102. W 일치에는 다음 줄의 모든 단어 문자가 포함됩니다. '[A-Za-z0-9_]'와 동일합니다.
103.
104. W는 단어가 아닌 문자와 일치합니다. '[^A-Za-z0-9_]'와 동일합니다.
105. 
106. xn은 n과 일치합니다. 여기서 n은 16진수 이스케이프 값입니다. 16진수 이스케이프 값은 정확히 두 자리 길이여야 합니다.
107. 
108. num은 num과 일치하며, 여기서 num은 양의 정수입니다. 획득한 일치 항목에 대한 참조입니다.
109. 
110. n은 8진수 이스케이프 값 또는 역참조를 식별합니다. n 앞에 가져온 n개 이상의 하위 표현식이 있으면 n은 역참조입니다. 그렇지 않고 n이 8진수(0-7)이면 n은 8진수 이스케이프 값입니다.
111. 
112. nm은 8진수 이스케이프 값 또는 역참조를 식별합니다. nm 앞에 최소한 nm이 있는 경우 하위 표현식을 얻은 경우 nm은 역참조입니다. nm 앞에 최소한 n 개의 가져오기가 오면 n은 역참조이고 그 뒤에 리터럴 m이 옵니다. 위의 조건 중 어느 하나라도 충족되지 않는 경우 n과 m은 모두 8진수(0-7)이고, nm는 8진수 이스케이프 값 nm과 일치합니다.
113. 
114. nml n이 8진수(0-3)이고 m과 l이 모두 8진수(0-7)인 경우 8진수 이스케이프 값 nml과 일치합니다.
115. 
116. un은 n과 일치합니다. 여기서 n은 4개의 16진수 숫자로 표시되는 유니코드 문자입니다.
117.
118. 중국어 문자와 일치하는 정규식: [u4e00-u9fa5]
119.
120. 2바이트 문자 일치(한자 포함): [^x00-xff ]
121.
122. 빈 줄과 일치하는 정규식: n[s| ]*r
123.
124. HTML 태그와 일치하는 정규식: /.* 1>|/
125. 
126. 선행 및 후행 공백과 일치하는 정규식: (^s*)|(s*$)
127. 
128. 이메일 주소 일치 정규식: w+( [-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*
129. 
130. URL 일치를 위한 정규 표현식 표현식: http://( [w-]+.)+[w-]+(/[w- ./?%&=]*)?
131. 
132. 정규식을 사용하세요. 웹 양식:
133. 
134. 사용 정규식 제한은 중국어로만 입력할 수 있습니다. onkeyup="value=value.replace(/[^u4E00-u9FA5]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^u4E00-u9FA5]/g,''))"
135. 
136. 정규식을 사용하세요 수식은 전자 문자만 입력하도록 제한합니다. onkeyup="value=value.replace(/[^uFF00-uFFFF]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^uFF00-uFFFF]/g,''))"
137. 
138. 정규식 사용 수식은 숫자 입력으로만 제한됩니다. 단어: onkeyup="value=value.replace(/[^d]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^d]/g,''))"
139. 
140. 정규식만 사용하세요 숫자, 영어 입력 가능 텍스트: onkeyup="value=value.replace(/[W]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^d]/g,''))"
141. 
142. ==== ===== 일반적으로 사용되는 정규식
143.
144.
145.
146. 한자와 일치하는 정규식: [u4e00-u9fa5]
147.
148 . 2바이트 문자 일치(한자 포함): [^x00-xff]
149.    
150.      빈 줄과 일치하는 정규식: n[s| ]*r
151.    🎜> 152. 일반 HTML 태그와 일치하는 표현식: /
.*|1>/ 153.
154. 선행 및 후행 공백과 일치하는 정규식: (^s*) (s*$)
155. 
156. IP 주소 일치를 위한 정규식: /(d+).(d+).(d+).(d+)/g //
157. 
158. 이메일 주소 일치를 위한 정규식 : w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*
159.
160 URL과 일치하는 정규식: http:/ /(/[w-]+.)+[w-]+(/[w- ./?%&=]*)?
161.  
162. SQL 문: ^(select|drop| delete|create|update|insert).*$
163.  
164. 1. 음수가 아닌 정수: ^d+$
165.  
166. 2. 양의 정수: ^[0- 9]*[1-9][0-9]*$
167. 168. 3. 양수가 아닌 정수: ^((-d+)|( 0+))$
169. 
170. 4. 음의 정수: ^-[0-9]*[1-9][0-9]*$
171. 
172. 5. 정수: ^-?d+$
173 . 
174. 6. 음수가 아닌 부동 소수점 수: ^d+(.d+)?$
175. 
176. 7. 양수 부동 소수점 수: ^((0-9)+.[ 0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*.[0- 9]+)|([0-9 ]*[1-9][0-9]*))$
177. 
178. 8. 양수가 아닌 부동 소수점 수: ^((-d+.d+ )?)|(0+( .0+)?))$
179. 
180. 9. 음수 부동 소수점 숫자: ^(-((양수 부동 소수점 숫자 정규 표현식)))$
181 . 
182. 10. 영문 문자열: ^[A-Za-z]+$
183. 
184. 11. 영문 대문자 문자열: ^[A-Z]+$
185.
186. 12. 영어 소문자 문자열: ^[a-z]+$
187.  
188. 13. 영문 및 숫자 문자열: ^[A-Za-z0-9]+$
189.  
190. 14. 영숫자 및 밑줄 문자열: ^w+$
191. 
192. 15. 이메일 주소 : ^[w-]+(.[w-]+)*@[w-]+(.[w-]+)+$
193.
194. 16. URL: ^[a-zA-Z]+://(w+(-w+)*)(.(w+(-w+)*))*(?s*)?$
195. 또는: ^http://[A-Za-z0-9]+.[A-Za-z0-9]+[/=?%-&_~`@[]':+!]*( [^""])*$
196.
197. 17. 우편번호: ^[1-9]d{5}$
198.
199. 18. 중국어 :^[u0391-uFFE5]+$
200.                                       19. 전화번호: ^(((d{2,3}))|(d{3}-))?((0d{ 2,3}) |0d{2,3}-)?[1-9]d{6,7}(-d{1,4})?$
202. 
203. 20. 휴대전화번호 : ^( ((d{2,3}))|(d{3}-))?13d{9}$
204. 
205. 21. 2바이트 문자(한자 포함) ): ^x00 -xff
206.
207. 22. 선행 및 후행 공백 일치: (^s*)|(s*$) (vbscript와 같은 트림 기능)
208.
23. 일치 HTML 태그:
.*|1> 210.  
211. 24. 빈 줄 일치: n[s| ]*r
212.  
213. 25. 정보에서 네트워크 링크 추출: (h|H)(r|R)(e|E)(f|F) *= *('|")?(w|\|/|.)+ ('|" | *|>)?
214.
215. 26. 정보에서 이메일 주소를 추출합니다: w+([-+.]w+)*@w+([-.]w+)*. -.]w+)*
216. 
217. 27. 정보에서 사진 링크를 추출합니다: (s|S)(r|R)(c|C) *= *('|" )? (w|\|/|.)+('|"| *|>)?
218. 
219. 28. 정보에서 IP 주소를 추출합니다: (d+).(d+).( d+ ).(d+)
220.
221. 29. 정보에서 중국 휴대폰 번호를 추출합니다: (86)*0*13d{9}
222.
223. 30. 추출 정보 중국 유선 전화 번호: ((d{3,4})|d{3,4}-|s)?d{8}
224. 
225. 31. 중국 전화 추출 정보 내 번호 번호(휴대폰 및 유선 포함): ((d{3,4})|d{3,4}-|s)?d{7,14}
226. 
227. 32 . 정보 추출 중국 우편 코딩: [1-9] {1} (d+) {5}
228.
229. 33. 정보의 부동 소수점 수(예: 소수점): (-? D *). ?d+
230.
231. 34. 정보에서 임의의 숫자 추출: (-?d*)(.d+)?
232.
233. 35. IP: ( d+).(d+).(d+).(d+)
234.
235. 36. 전화 지역번호: /^0d{2,3}$/
236.
237. 37. Tencent QQ 번호: ^[1-9]*[1-9][0-9]*$
238.  
239. 38. 계좌 번호(문자로 시작, 5-16바이트 허용) , 영숫자 밑줄 허용) :^[a-zA-Z][a-zA-Z0-9_]{4,15}$
240.  
241. 39. 중국어, 영어, 숫자 및 밑줄: ^ [u4e00-u9fa5_a-zA-Z0-9]+$

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