正則表示式09-正則中r的作用
r的作用
>>> mm = "c:\\a\\b\\c" >>> mm 'c:\\a\\b\\c' >>> print(mm) c:\a\b\c >>> re.match("c:\\\\",mm).group() 'c:\\' >>> ret = re.match("c:\\\\",mm).group() >>> print(ret) c:\ >>> ret = re.match("c:\\\\a",mm).group() >>> print(ret) c:\a >>> ret = re.match(r"c:\\a",mm).group() >>> print(ret) c:\a >>> ret = re.match(r"c:\a",mm).group() Traceback (most recent call last): File "<stdin>", line 1, in <module> AttributeError: 'NoneType' object has no attribute 'group' >>>
說明
Python中字串前面加上 r 表示原生字串
,
與大多數程式語言相同,正則表示式裡使用"\"作為轉義字元
,這就可能造成反斜槓困擾。假如你需要匹配文字中的字元"\",那麼使用程式語言表示的正則表示式裡將需要4個反斜槓"\\":前兩個和後兩個分別用於在程式語言裡轉義成反斜槓,轉換成兩個反斜槓後再在正則表示式裡轉義成一個反斜槓。
Python裡的原生字串很好地解決了這個問題,有了原生字串,你再也不用擔心是不是漏寫了反斜槓,寫出來的表示式也更直觀。
>>> ret = re.match(r"c:\\a",mm).group() >>> print(ret) c:\a
相關推薦
正則表示式09-正則中r的作用
r的作用 >>> mm = "c:\\a\\b\\c" >>> mm 'c:\\a\\b\\c' >>> print(mm) c:\a\b\c >>> re.match("c:\\\\",mm).gro
正則表示式之C程式中使用正則
POSIX規定了正則表示式的C語言庫函式,詳見regex(3)。我們已經學習了很多C語言庫函式的用法,讀者應該具備自己看懂man手冊的能力了。本章介紹了正則表示式在grep、sed、awk中的用法,學習要能夠舉一反三,請讀者根據regex(3)自己總結正則表示式在C語言中的用法,寫一些簡單的程式,例
python 正則表示式找出字串中的純數字
1、簡單的做法 >>> import re >>> re.findall(r'\d+', 'hello 42 I'm a 32 string 30') ['42', '32', '30'] 然而,這種做法使得字串中非純數字也會識別 >
MSSQL 正則表示式在資料庫程式設計中使用,其實真的不懂SQL了
也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興! 一直以為單純的查詢分析資料表,基本上都OK。今天遇到一位朋友提出。郵件地址欄位,去掉163,sina,china感覺很簡單,不就是like not like
js中字串正則表示式、正則法則pattern、RegExp、flags、exec
全棧工程師開發手冊 (作者:欒鵬) js中字串正則表示式 正則法則的應用 正則表示式 = /pattern/flags 其中flags中g表示匹配全部,i表示不區分大小寫,m表示匹配多
js 正則表示式去除html字元中所有的標籤(img標籤除外)
廢話不多說,直接上程式碼:description.replace(/<(?!img).*?>/g, ""); 如果保留img,p標籤,則為:description.replace(/<
android 通過正則表示式遍歷html中所有的img標籤
String reg = "<img.*?>"; Pattern pattern = Pattern.compile(reg); Matcher matcher = pattern.matcher(sendString);//sendString為網
正則表示式:只保留字串中的漢字和字母
echo iconv('utf-8', 'gbk', preg_replace('/[^a-zA-Z\x{4e00}-\x{9fa5}]/u', '', iconv('gbk', 'utf-8', $str_word)));exit;
Python 正則表示式從Windows路徑中獲取資料夾
<pre name="code" class="python">1. Regular Expression ^([a-zA-Z]:|\\\\[a-zA-Z0-9_.$ -]+\\[a-z0-9_.$ -]+)?((?:\\|^)(?:[^\\/:*?"<&
用正則表示式切割詳細地址中的省、市、區(例如:address=陝西省延安市寶塔區寶塔山街道寶塔山景區,切割之後為province=陝西省, city=延安市, county=寶塔區寶塔山街道寶塔山景)
將詳細地址切割為省市區工具類(還要切割到鎮、村莊參考博文:https://blog.csdn.net/superSubfn/article/details/80290491) package com.camelot.attendance.util; import java.util.Arr
Java呼叫replaceAll方法通過正則表示式把HTML字串中的img標籤的src預設屬性值uri補全
class Test { public static void main(String[] args) { String domain = "http://avatar.csdn.net";
Python 正則表示式提取Windows路徑中檔名
1. Regular Expression [^\\/:*?"<>|\r\n]+$ eg. c:\foler\file.ext Extract: file.ext 2. Python Code import re subject = 'c:\\foler
[C/C++標準庫]_[初級]_[使用正則表示式過濾Windows檔名中的非法字元]
場景 1.Windows和macOS的檔名有自己的命名規則, 特別是Windows的檔名限制了不允許使用的特殊字元. 在使用這些檔名新建檔案時會建立失敗. 說明 1.在前面的文章裡在Windo
正則表示式——JAVA與JS中的使用
一、JAVA: <code class="hljs ruby has-numbering" style="display: block; padding: 0px; background: transparent; color: inherit; box-sizin
用正則表示式匹配雙引號中的內容
匹配表示式:\"([^\"]*)\"匹配結果實驗: String t = "\"world\""; String p = "\"([^\"]*)\"" ; Pattern P=Pattern.compile(p); Matcher matcher1=P
使用正則表示式刪除一個字串中特定兩個字元之間的所有字元
刪除兩個%之間的所有字元: String s = "http://media.advu.cn/stat/index?f=1001&eventid=266&tvType=
正則表示式獲取sql語句中的表名
一個小的實驗,裡面要獲取基本增刪改查的sql語句對應的表名,以下是在W3schoo基本教程的集中sql型別 SELECT 列名稱(*所有列) FROM 表名稱 SELECT 列名稱 FROM 表名稱 where 條件 INSERT INTO 表名稱 V
使用正則表示式對xml檔案中資料字典進行整理
在工作中,需要對xml檔案中資料字典進行整理。 SQL> create table t1(text varchar2(4000)); 表已建立。 SQL> insert into t1 values(' <enumeration id
Scala正則表示式提取文件中任意數字
通常我們通過hdfs讀取文件資料時,都會伴隨許多空格等特殊的分割符號,此時需要提取出裡面的資料時可以用到正則表示式。其實如果只是一般的有規律性的分隔符號 如每個數字中間一個空格符號來進行分割的話,通過簡單的字串操作如split()即可,但是遇到了沒有規律性的時候
利用正則表示式從檔案路徑中匹配檔名
第一種,檔名不包含副檔名: 正則表達寫法:([^<>/\\\|:""\*\?]+)\.\w+$ java中的寫法: …… String reg = "([^<>/\\\\|:\"\"\\*\\?]+)\\.\\w+$+"; Matcher m = P