정규식 언어는 리터럴(일반) 텍스트 문자와 메타 문자라는 두 가지 기본 문자 유형으로 구성됩니다.
관련 권장사항:
1. 정규식 구문 튜토리얼(온라인 테스트 도구 포함)
2. PHP 정규식 빠른 입력 비디오 튜토리얼
메타 문자에는 정규식을 사용한 처리 기능이 있습니다. 메타 문자는 [ ]
에 있는 단일 문자일 수 있습니다(예: [a]
는 단일 소문자 a
와 일치함을 의미함). 문자 시퀀스(예: [a-d]
는 a, b, c, d
사이의 모든 문자와 일치함을 의미하고 w
는 모든 영어 문자, 숫자를 의미함) 및 밑줄), 일반적인 메타 문자는 다음과 같습니다: [ ]
中的任意单个字符(如 [a]
表示匹配单个小写字符 a
),也可以是字符序列(如 [a-d]
表示匹配 a 、b、 c、 d
之间的任意一个字符,而 w
表示任意英文字母和数字及下划线),常见的元字符如下:
字符 | 描述 | 特别说明 |
---|---|---|
. |
匹配除换行符(n )以外的任意字符 |
~ |
[abcde] |
匹配 a b c d e 之中的任意一个字符 |
所有字符是 或 的关系 |
[a-h] |
匹配 a 到h 之间的任意一个字符 |
~ |
[^fgh] |
不与 fgh 之中的任意一个字符匹配 |
在 中括号[ ] 的第一个字符前加上 ^ 表示 取反 不匹配中括号里面出现的任意字符 |
w |
匹配大小写英文字符及数字 0 到 9 之间的任意一个及下划线,相当于[a-zA-Z0-9_]
|
~ |
W |
与 w 相反,相当于 [^a-zA-Z0-9_]
|
~ |
s |
匹配任意的空白符,相当于 [fnrtv]
|
~ |
S |
与 s 相反,相当于 [^s]
|
~ |
d |
匹配任何 0 到 9 之间的单个数字,相当于 [0-9]
|
~ |
D |
与 d 相反,相当于[^0-9]
|
~ |
[u4e00-u9fa5] |
匹配任意单个汉字(中文)(这里用的是 Unicode 编码表示的汉字) |
~ |
b |
匹配单词的开始或结束 | ~ |
^ |
匹配字符串的开始 | 放在中括号的第一个字符前 则变为 取反的意思 |
$ |
匹配字符串的结束 | ~ |
作用:限定这个符号前面 一个 单元 多出现的次数
单元:
上面的元字符都是针对单个字符匹配的,要想同时匹配多个字符的话,还需要借助限定符,下面是一些常见的限定符(下表中 n
和 m 都是表示 整数。)
字符 | 描述 | 特别说明 | |||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
* |
匹配 0 到 多 个元字符,相当于 {0,}
|
~ | |||||||||||||||||||||||||||||||||
? |
匹配 0 到 1 个元字符, 相当于 {0,1}
|
~ | |||||||||||||||||||||||||||||||||
+ |
匹配至少 1 个元字符,相当于 {1,}
|
~ | |||||||||||||||||||||||||||||||||
{n} |
匹配 n 个元字符 | ~ | |||||||||||||||||||||||||||||||||
{n,} |
匹配至少 n 个元字符 | ~ | |||||||||||||||||||||||||||||||||
{n,m} |
匹配 n 到 m 个元字符 | ~ | |||||||||||||||||||||||||||||||||
b |
匹配单词边界 | ~ | |||||||||||||||||||||||||||||||||
^ |
字符串必须以指定的字符开始 | ~ | |||||||||||||||||||||||||||||||||
$ 공통 메타 문자
| |||||||||||||||||||||||||||||||||||
캐릭터 | 설명 | 특별 지침 | 🎜||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
正则 | 含义 |
---|---|
Windows98|Windows2000|WindowsXP |
匹配Windows98 或者Windows2000 或者WindowsXP
|
^Windows98|Windows2000|WindowsXP$ |
以Windows98 开头或者包含Windows2000 或者以WindowsXP结尾 注意 ^ 和$ 都包含在| 的范围内,因为| 的界限只有:开头、结尾、小括号 |
Windows(98|2000|XP) |
Windows 然后98 或者2000 或者XP
|
ab|cd|ef
는 ab
, cd
또는 ef
를 의미합니다. . 🎜a(b|cd|e)f
는 a
로 시작, b
또는 cd를 의미합니다. code>는 e
이고 f
로 끝납니다. 🎜요약: |
( 또는
)의 유일한 경계는 🎜괄호(( )
)입니다.🎜[0-9A-Z.?]
이 규칙을 어떻게 이해하시나요? .
및 ?
가 🎜대괄호, .
및 안에 표시되는 경우는 무엇입니까?
는 점과 물음표로 구성된 🎜일반 문자가 됩니다. [ ]
의 우선순위가 및 ?
의 우선순위보다 높다는 것을 알 수 있습니다. 🎜이 정규식은 ?aaa.bbb
문자열과 정확히 일치합니다. 여기서 및 ?
는 완전히 일반 문자로 처리됩니다. 다중 선택 구조는 실제로 |
메타 문자를 사용하는 것입니다. .
범위 정의: 시작, 끝, 괄호
일반 | 의미 | 🎜 thead >||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Windows98|Windows2000|WindowsXP 🎜 |
는 Windows98 , Windows2000 또는 WindowsXP 🎜🎜<tr>
<td>
<code>^Windows98|Windows2000|WindowsXP$ 🎜 |
Windows98 로 시작하거나 Windows2000 을 포함하거나 WindowsXP로 종료^ 및 $ 는 모두 | 범위에 포함됩니다. | 유일한 경계는 시작, 끝, 괄호 🎜🎜 |
|||||||||||||||||
Windows(98|2000|XP) 🎜 |
Windows 다음 입니다. 98 또는 2000 또는 XP 🎜🎜🎜🎜요약: 다중 선택 구조에는 많은 문자가 포함될 수 있지만 高级2 - 分组与后向引用分组
反向引用
示例:
直白解释: 高级3 - 环视(零宽断言)
高级4 - 贪婪与懒惰
总结: 고급 2 - 그룹화 및 역참조
괄호를 사용하여 하위 표현식(그룹화라고도 함)을 지정할 수 있습니다 |
( ), (?:) , (?=) , [] 모드 단위 및 원자 테이블 |
3 |
* , + , ? , {n} , {n,} , {n,m} 중복 일치 |
---|---|---|
^ , $ , b , B , A , Z
|
경계 제한
|
转义字符 |
2 |
() 、(?:) 、(?=) 、[]
|
模式单元和原子表 |
3 |
* 、+ 、? 、{n} 、{n,} 、{n,m}
|
重复匹配 |
4 |
^ 、$ 、b 、B 、A 、Z
|
边界限制 |
5 | | |
模式选择 |
1问:要匹配字符串 33333333333
中的 $
正则应该怎么写?
2问:如果在 PHP 中 preg_match
函数分别用单引号和双引号的表达式来匹配上面的 $
,怎么写?
答案:
$
'/\$/'
。(为方便查看我们拆分一下为 '/\ \ \ $/'
)"/\$/"
。(为方便查看我们拆分一下为 "/\ \ \ $/"
)再答:
,所以我们需要 6个
来生成表达式。双引号除了转义 以外,还需要多一个
用来转义
$
所以它 需要 7 个
333333$3333333
에서 $
와 일치하는 정규식을 어떻게 작성해야 합니까? preg_match
함수가 🎜작은따옴표🎜와 🎜큰따옴표🎜 표현식을 사용하여 위의 $
와 일치하는 경우 어떻게 작성하나요? 🎜🎜🎜답변: 🎜🎜\$
입니다.🎜'/\\\$를 나타내려면 작은따옴표를 사용하십시오. /'
. (보기 쉽게 '/\ \ \ $/'
로 나누었습니다.) 🎜"/\\\$/". (보기 쉽게 <code>"/\ \ \ $/"
로 나누었습니다.) 🎜
만 이스케이프되므로 6개의 가 필요합니다. / code> 표현식을 생성합니다. 🎜<li>🎜<code>
를 이스케이프하는 것 외에도 큰따옴표에는 $
를 이스케이프하려면
가 하나 더 필요하므로 7개의 가 필요합니다. 코드>. 🎜🎜🎜🎜 추천 관련 튜토리얼: 🎜PHP 비디오 튜토리얼🎜🎜
위 내용은 정규식에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!