本节内容我们将介绍PHP中正则 表达式的基础语法:定界符和原子。内容包含了定界符的定义以及原子的定义和构成等等。其中原子的构成十分灵活,以便满足我们对处理字符串的需求。在这之 前,我们需要先了解一个正则表达式处理函数preg_match()来进行测试,以方便我们教程示例的进行。
先来看一下正则表达式的定界符、正则表达式的构成以及preg_match()函数:
1,正则表达式的定界符。
除了字母、数字和反斜线\以外的任何字符都可以为定界符号,比如 | |、//、{}、!!等等,但是需要注意,如果没有特殊需要,我们都使用正斜线//作为正则表达式的定界符号。
2,正则表达式的构成。
我们看一下这个公式:/原子和元字符/模式修正符
也就是说,正则表达式的原子和元字符都放在定界符之间,而模式修正符放在定界符之外。
3,preg_match()函数
我们会在后面进行详细解释,这里只是为了帮助测试,其返回一个布尔值,表示是否成功匹配。
了解完以上简单的内容,让我们进入正题。
正则表达式中的原子
什么是原子?原子是正则表达式的最基本组成单位,而且必须至少要包含一个原子。只要一个正则表达式可以单独使用的字符,就是原子。
这个概念可能看起来很模糊,没关系,下面我们来介绍一下正则表达式中原子的构成方式。
原子构成方式
1,所有打印(所有可以在屏幕上输出的字符串)和非打印字符(看不到的,比如空格,换行符等等)
2,如果所有有意义的字符,想做为原子使用,统统使用“\”转义字符进行转义即可。如:\. \* \+ \? \( \<\>。
注意:" \ "转义字符可以将有意义的字符转成没意义的字符,还可以将没意义的字符转为有意义的字符。如:\d表示任意一个十进制的数字。
3,在正则表达式中可以直接使用一些系统提供的代表范围的原子,如下面的表格所示:
代表范围的原子 |
说明 |
自定义原子表示法 |
\d |
表示任意一个十进制的数字 |
[0-9] |
\D |
表示任意一个除数字这外的字符 |
[^0-9] |
\s |
表示任意一个空白字符,空格、\n\r\t\f |
[\n\r\t\f ] |
\S |
表示任意一个非空白 |
[^\n\r\t\f ] |
\w |
表示任意一个字 a-zA-Z0-9_ |
[a-zA-Z0-9_] |
\W |
表示任意一个非字,除了a-zA-Z0-9_以外的任意一个字符 |
[^a-zA-Z0-9_] |
4. 原子テーブルをカスタマイズします (角括弧 [] を使用)。角括弧内の任意の原子と一致します。
上の表では、システムによって提供されるレンジアトムをカスタムの方法で等価に変換しました。システムは必要な原子をすべて提供できないため、たとえば、文字または数字を一致させたい場合は、原子を [a-zA-Z0-9] のように記述する必要があります。
ここで注意してください:
A、記号「-」は範囲を表します。[a-z] は小文字の a から z を表しますが、決して [a-9] の形式で書かないでください。記号「^」は否定を意味し、角括弧の先頭に置く必要があります。たとえば、数字以外を一致させたい場合、アトムは [^0-9] です。
正規表現アトムの使用例を見てみましょう。コードは次のとおりです:
コードをコピーします コードは次のとおりです:
$pattern = '/ d/';//number アトミック テーブル、つまり正規表現のパターン
$string = 'dsadsadsa';//一致する必要がある文字列
if(preg_match($pattern, $string)){
echo "正規表現
{$ pattern} と文字列
{$string} が正常に一致しました。"
}else{
echo "
正規表現 {$pattern} と文字列 {$string} が一致しませんでした";
注: カスタム アトム テーブル内の 1 つのアトムが文字列、一致は成功しました。カスタム アトム テーブルの角括弧を削除すると、文字列全体が一致することになります。たとえば、「/abc/」は、部分文字列 abc が一致する文字列に含まれている必要があることを意味し、「/[abc]/」は、文字列に文字 a、 b、およびc。
上記の例のパターン (つまり、正規表現のパターン変数 $pattern) を変更し、このセクションで説明する正規表現のアトムを検証できます。
このセクションでは、正規表現の区切り文字とアトムの紹介を終了しました。練習に基づいて、すでに正規表現のアトムを使用できるようになると思います。次のセクションでは、PHP 正規表現のメタキャラクターを紹介します。お見逃しなく。
http://www.bkjia.com/PHPjc/326083.html
www.bkjia.com
truehttp://www.bkjia.com/PHPjc/326083.html技術記事このセクションでは、PHP の正規表現の基本構文である区切り文字とアトムについて紹介します。内容には、デリミタの定義、アトムの定義と構成などが含まれます。その中で、原子の構成は10...