1. 程式人生 > >元字元與轉義(正則基本知識abc)

元字元與轉義(正則基本知識abc)

正則表示式中具有特殊含義的字元稱之為元字元,常用的元字元有:

\ 一般用於轉義字元
^ 斷言目標的開始位置(或在多行模式下是行首)
$ 斷言目標的結束位置(或在多行模式下是行尾)
. 匹配除換行符外的任何字元(預設)
[ 開始字元類定義
] 結束字元類定義
| 開始一個可選分支
( 子組的開始標記
) 子組的結束標記
? 作為量詞,表示 0 次或 1 次匹配。位於量詞後面用於改變數詞的貪婪特性。 (查閱量詞)
* 量詞,0 次或多次匹配
+ 量詞,1 次或多次匹配
{ 自定義量詞開始標記
} 自定義量詞結束標記

//下面的\s匹配任意的空白符,包括空格,製表符,換行符。[^\s]代表非空白符。[^\s]+表示一次或多次匹配非空白符。
$p = '/^我[^\s]+(蘋果|香蕉)$/';
$str = "我喜歡吃蘋果";
if (preg_match($p, $str)) {
    echo '匹配成功';
}

元字元具有兩種使用場景,一種是可以在任何地方都能使用,另一種是隻能在方括號內使用,在方括號內使用的有:

\ 轉義字元
^ 僅在作為第一個字元(方括號內)時,表明字元類取反
- 標記字元範圍

其中^在反括號外面,表示斷言目標的開始位置,但在方括號內部則代表字元類取反,方括號內的減號-可以標記字元範圍,例如0-9表示0到9之間的所有數字。

//下面的\w匹配字母或數字或下劃線。
$p = '/[\w\.\-][email protected][a-z0-9\-]+\.(com|cn)/';
$str = "我的郵箱是[email protected]";
preg_match($p, $str, $match);
echo $match[0];

相關推薦

元字元轉義(基本知識abc)

正則表示式中具有特殊含義的字元稱之為元字元,常用的元字元有: \ 一般用於轉義字元 ^ 斷言目標的開始位置(或在多行模式下是行首) $ 斷言目標的結束位置(或在多行模式下是行尾) . 匹配除換行符外的任何字元(預設) [ 開始字元類定義 ] 結束字元類定義 | 開始一個可選分支 ( 子組的開始標記 )

5-1基本知識詳解

3.3 正則表示式 本節我們看一下正則表示式的相關用法,正則表示式是處理字串的強大的工具,它有自己特定的語法結構,有了它,實現字串的檢索、替換、匹配驗證都不在話下。 當然對於爬蟲來說,有了它,我們從 HTML 裡面提取我們想要的資訊就非常方便了。 1. 例項引入 說了這麼多,可能我們

元字元轉義表示式)

正則表示式中具有特殊含義的字元稱之為元字元,常用的元字元有: \ 一般用於轉義字元 ^ 斷言目標的開始位置(或在多行模式下是行首) $ 斷言目標的結束位置(或在多行模式下是行尾) . 匹配除換行符外的任何字元(預設) [ 開始字元類定義 ] 結束字元類定義 | 開始一個可選分支 ( 子組的開始標記 ) 子組

grep,sed,awk簡單表達式應用

Linux學習grep,sed,awk與簡單正則表達式應用 這裏使用的測試文件是linux /etc/passwd文件,最好是復制一份進行練習,方式對文件內容造成損壞。感覺還是要多練習才能很好的使用,習題這裏就不貼了,網上一找一大把。 grep:   -o 用作計算出現多少次字段&e

機器學習之路: python線性回歸 過擬合 L1L2

擬合 python sco bsp orm AS score 未知數 spa git:https://github.com/linyi0604/MachineLearning 正則化: 提高模型在未知數據上的泛化能力 避免參數過擬合正則化常用的方法: 在目

JavaScript常用知識總結

ignorecas nbsp enc 屬性。 docs 插入 pro 兩種 .org 一、JavaScript正則相關方法 str.match(regexp)與regexp.exec(str)功能類似。 str.search(regexp)與regexp.test(str)

完整的表示式知識彙總(Python知識不斷更新)

## 大綱: ## 一、正則概述 1.正則是什麼 正則就是一套規則,或者語法 2.正則的作用 讓我們判斷是否符合我們的的規則,或者根據規則找到符合規則的資料 3.使用場景 可以用正則判斷我們輸入的郵箱是否合法 可以用正則去獲取整個網頁的照片 4.適合語言 所有語言都可以通用 ## 二、正則表示式簡

表示式知識整理

注:本文所有的例子都來自於《正則表示式必知必會(修訂版)》。   正則表示式的作用是用來檢索文字或替換文字。如: (絕大多數正則表示式引擎的預設行為是返回第1個匹配結果。)   正則表示式中一個非常重要的概念就是元字元,你可以不用去理什麼限定符、定位符之類,只要記住它們都是元

深度學習基礎--norm--化(Regularization)

正則化(Regularization)   一種防止過擬合,提高泛化能力的技巧,因此演算法正則化的研究成為機器學習中主要的研究主題。此外,正則化還是訓練引數數量大於訓練資料集的深度學習模型的關鍵步驟。   正則化可以避免演算法過擬合,過擬合通常發生在演算法學習的輸入資料無法反應真實的分佈

深度學習基礎--norm--化技術

正則化技術   一種防止過擬合,提高泛化能力的技巧,因此演算法正則化的研究成為機器學習中主要的研究主題。此外,正則化還是訓練引數數量大於訓練資料集的深度學習模型的關鍵步驟。   正則化可以避免演算法過擬合,過擬合通常發生在演算法學習的輸入資料無法反應真實的分佈且存在一些噪聲的情況。   

SVM支援向量機系列理論(七) 線性支援向量機L2化 Platt模型

7.1 軟間隔SVM等價於最小化L2正則的合頁損失 上一篇 說到, ξi ξ i \xi_i 表示偏離邊界的度量,若樣本點

L1L2

在機器學習中,我們茶廠聽到L1和L2正則化,用他們來防止過擬合,但是在什麼情況下使用它們和它們的原理是什麼樣的可能一知半解。所以在本部落格中將對L1和L2做簡單的介紹和應用場景。 如果引數過多,模型過於複雜,容易造成過擬合(overfit)。即模型在訓練樣本資料上表現的很好

L1L2化的理解

一、概括: L1和L2是正則化項,又叫做罰項,是為了限制模型的引數,防止模型過擬合而加在損失函式後面的一項。 二、區別:   1.L1是模型各個引數的絕對值之和。    L2是模型各個引數的平方和的開方值。   2.L1會趨向於產生少量的特徵,而其他的特徵都是0.     因為最優的引數值很大概率

Linux_Shell_Shell 中的表示式 常用表示式

在Linux Shell 程式設計中,我們常需要用到 正則表示式 進行 檔案的匹配在本篇文章中,我們對Linux shell 中的正則表示式 做一個總結,方便之後的shell 編寫。參考文章:shell程式設計之正則表示式shell script 在if 的判斷條件正則表示式

損失函式、風險函式及知識系統總結

0 引言 做機器學習專案的時候總是遇到經驗風險、結構風險、正則化項等這些概念,還有損失函式最小化問題,今天我們就來詳細地總結下這些知識吧。 1 損失函式 針對單個具體樣本,表示模型預測值與真實樣本值之間的差距。損失函式越小,說明模型對於該樣本預測越準確。 在實際

HBase中過濾表示式JAVA表示式不一致問題的分析和解決

HBase提供了豐富的查詢過濾功能。 比如說它提供了RegexStringComparator這樣的函式,可以實現按照正則表示式進行過濾。它可以有效地彌補向前綴查詢這樣的機制,從而可以使hbase也

表示式知識詳解之匹配開頭或結尾 (java版示例)

示例功能: 1、匹配字串的開頭 2、匹配字串的結尾 package com.songguoliang.regex; import java.util.regex.Matcher; imp

資料結構演算法——樹的基本知識

一、概述     向量(循秩訪問,根據元素的秩快速確定其儲存的實體地址從而找到指定元素)和列表(循位置訪問,通過各個節點間儲存相互引用找到指定節點)的操作複雜度如下:                                                       

漢語言處理工具pyhanlp的拼音轉換字元

開發十年,就只剩下這套架構體系了! >>>   

Java中的日歷類/集合類/數學類/表達式/數組工具類等的常用方法基本功能

calendar類和Data類 Collection類和List 正則表達式regex Math類和Random類 System類和Iterator類 一、 Arrays 針對數組操作的工具類,提供了一些針對數組排序和二分搜索的方法。常用方法:1、public static String