python判斷表達式
⑴ 用python判斷一個字元串是否是正則表達式
一個簡捷的方法是,
try:
re.compile('xxx');
catch:
#如果有異常發生,說明不是合法的正則
這樣是python語法來判斷的。
⑵ 如何利用python的賦值運算符,判斷表達式是否等值
首先5>2為真,返回值1(1為真,0為假);然後就是1>7為假,返回0;最後0>8為假,返回0。最後結果為0。
或:
從左至右:5>2 =1
1>7 =0
0>8 =0
(2)python判斷表達式擴展閱讀:
一個表達式的賦值和算符啟兆的定義以及數值的定義域是有關聯的。
兩個表達式若被說是等值的,表示對於自由變數任意的定值,兩個表達式都會有相同的輸出,即它們代表同一個函數。
一個表達式必須是合式的。亦即,其每個算悄廳租符都必須有正確的輸伏租入數量,在正確的地方。如表達式2+3便是合式的;而表達式*2+則不是合式的,至少不是算術的一般標記方式。
⑶ python的正則表達式
1,正則表達式的一些內容
正則表達式主要是用來匹配文本中需要查找的內容,例如在一片文章中找出電話號碼,就中國的來說11位純數字(不說座機),則使用"d{11}" 意味匹配數字11次,就能准確的查找出文本中的電話號碼. 還有就是在編寫網路爬蟲的時候需要提取很多超鏈接再次進行爬取,使用正則表達式就很方便.直接匹配http開頭就行,當然也可以使用beautifulsoup的select方法.
看下面的程序看看正則表達提取文本中的郵箱:
w 匹配字母,數字,下劃線
+ 匹配1次或者多次
re是正則表達式的工具包,工具包出錯的話在anaconda的命令行輸入"pip install re"安裝,其他的工具包也是如此.
re.compile()中的r示意不是轉義字元,也就是保持後面字元串原樣,findall返回一個列表.下面還有一個版本的程序略有不同.
compile的另一個參數re.IGONORECASE(忽略大小寫),還可以是re.DORALL,多行模式,具體功能也是模糊不清,不過在使用通配符 . 匹配的時候加上re.DOTALL參數能夠匹配換行.如果希望忽略大小寫和多行模式都開啟可以使用re.compile(r'....',re.IGNORECASE|re.DOTALL) .
表達式使用( ),對匹配到的內容分為3組 也就是(w+)出現字母,數字,下劃線一次或多次,這個分組就是下面使用match對象的grou()方法的時候的參數.不給參數和參數0都是得到整個匹配到的內容, 參數1得到第一個括弧匹配到的內容,以此類推參數2和3,如果沒有括弧分組的話使用參數會出現錯誤.
search( )查找和正則式匹配的內容,只匹一次後面的那個找不到.返回一個match對象
w 匹配字母,數字,下劃線
W 匹配字母,數字.下劃線之外的所有字元
d 匹配數字
D 匹配非數字
s 匹配空格,製表符,換行符
S匹配除空格製表符,換行符之外的其他字元
[ .... ]定義自己的匹配,如[aeiouAEIOU ]匹配所有的母音字母,注意不是匹配單詞.
{最少次數,最多次數},例如{3,9} 匹配3-9次,{ ,10}匹配0-10次. 默認為匹配最多次數(貪心匹配),非貪心模式在後面加上問號
? 可選 0次或者1次吧
+匹配1次或多次
*匹配0次或者多次
^ 判斷開頭 ^d 如果待匹配串是數字開頭則返回第一個數字
$判斷結尾 d$ 如果待匹配串是數字結尾則返回最後一個數字
. 通配符,匹配除換行之外的所有字元
d{11} 匹配數字11次
. * 匹配所有字元除 換行
[a-zA-Z0-9._%+-] 小寫和大寫字母、數字、句點、下劃線、百分號、加號或短橫
[a-zA-Z]{2,4} 匹配字母 2 - 4次
⑷ Python如何判斷正則表達式是否匹配成功
提問者寫的程序,邏輯是正確的,需要更改如下:
importre
s=re.match("d","abc")
prints,type(s)
ifstr(s)=='None':
print1
else:
print2
第四行,提問者是想控制s是否是空,但是通過第三行的type(s)可以看得出來,s的類型和==號後面的類型本身就是不匹配的,所以肯定不會運行第五行的內容;
修改如下,將第四行的s改為:str(s),轉化為字元串,這樣才可以比較。
⑸ python正則表達式是什麼
Python正則表達式是一個特殊的字元序列,是一種用來匹配字元串的強有力的武器。它的設計思想是用一種描述性的語言來給字元串定義一個規則,凡是符合規則的字元串,我們就認為它「匹配」了,否則,該字元串就是不合法的。
判斷一個字元串是否是合法的Email的方法是:
1、創建一個匹配Email的正則表達式;
2、用該正則表達式去匹配用戶的輸入來判斷是否合法。
因為正則表達式也是用字元串表示的,所以,要首先了解如何用字元來描述字元。
在正則表達式中,如果直接給出字元,就是精確匹配。用 d 可以匹配一個數字, w 可以匹配一個字母或數字。
⑹ python 正則表達式判斷並添加我需要的標簽。
你好:
下面是我總結的Python的正則表達式的用法:
##總結
##^匹配字元串的開始。
##$匹配字元串的結尾。
##匹配一個單詞的邊界。
##d匹配任意數字。
##D匹配任意非數字字元。
##x?匹配一個可選的x字元(換言之,它匹配1次或者0次x字元)。
##x*匹配0次或者多次x字元。
##x+匹配1次或者多次x字元。
##x{n,m}匹配x字元,至少n次,至多m次。
##(a|b|c)要麼匹配a,要麼匹配b,要麼匹配c。
##(x)一般情況下表示一個記憶組(rememberedgroup)。你可以利用re.search函數返回對
##象的groups()函數獲取它的值。
##正則表達式中的點號通常意味著「匹配任意單字元」
⑺ 判斷一個數n是否能被2整除的Python表達式為
可以使用取余運算符 `%` 來判斷一個數 n 是否能被 2 整除,下面是一個判斷的 Python 表達式:
```python
n % 2 == 0
```
該表達式的意思是,如果 n 除啟亂以 2 的余數等於 0,那麼 n 就是偶數,否則 n 是奇數。因此,該表達式可以用來判斷一個數是否能夠被 2 整除,如果表慧畢達式的值為 True,則說明 n 是偶數,否前旁芹則 n 是奇數。
例如,對於一個變數 x,可以使用如下代碼判斷 x 是否能夠被 2 整除:
```python
if x % 2 == 0:
print("x 是偶數")
else:
print("x 是奇數")
```
如果 x 是偶數,則輸出結果為 "x 是偶數",否則輸出結果為 "x 是奇數"。
希望我的回答能夠幫助到您!
⑻ python 判斷正則表達式
看了你的提問,你的要求是:
輸入格式:
輸入包含兩行:
待匹配字元串
正則表達式
輸出格式:
若正則表達式能夠匹配第一行字元串則輸出True,否則,輸出False
以下是我依據你的功能需求,個人簡單寫的一些代碼,供你參考:
importre
flg=True
#定義主要工作代碼函數
defjobCode(txtstr,regex):
result=re.search(regex,txtstr)
#如果匹配第一行字元串flg為True,否則flg為False
ifresult.group()==txtstr:
#print(result.group())
returnflg==True#返回flg並終止循環
else:
#print(result.group())
returnflg==False#返回flg並終止循環
#程序主入口
if__name__=='__main__':
txtstr=str(input("請輸入待匹配的字元串:"))
regex=input("請輸入正則表達式:")
print(jobCode(txtstr,regex))#調用定義函數jobCode()
代碼應該還能更簡潔,具體你自己去完善。
純手工,如果對你有幫助望採納!
⑼ 判斷整數i能否被5整除的+python+表達式為
在 Python 中,判斷一個整數 i 能否被 5 整除的表達式可以使用取余操作符 %,表達式為:
i % 5 == 0
該表達式毀銀的含義是,如果 i 除以 5 的余數為 0,則返回 True,否則返回 False。因為能否被 5 整除笑笑只有兩種情況,即余數為 0 或 1-4,所以可以直接使用等於操作符 == 進碰余含行判斷。
⑽ 怎麼判斷python表達式是否合法
a=input()
try:b=eval(a);print("這是一個合法的表達式,它的值是\n");print(b)
except:print("這個表達式是不合法的");
finally:print("所輸入的是");print(a);
運行以上代碼,輸入你的表達式進去就知
總結如下,一個合法的表達式必然有一個於運行時確認的值,沒有語法錯誤,所有的運算符號的拼寫和使用符合規則,所有的運算數的拼寫和使用也符合規則,在源代碼中有明確的開始和結尾(不能寫a="")。