1. 首页 > 科技

请问这样的python 正则匹配怎么写,萌新求助

请问这样的python 正则匹配怎么写,萌新求助

Python正则表达式的几种匹配方法

1.测试正则表达式是否匹配字符串的全部或部分

regex=ur"" #正则表达式

if re.search(regex, subject):

do_something()

else:

do_anotherthing()

2.测试正则表达式是否匹配整个字符串

regex=ur"/Z" #正则表达式末尾以/Z结束

if re.match(regex, subject):

do_something()

else:

do_anotherthing()

3.创建一个匹配对象,然后通过该对象获得匹配细节(Create an object with details about how the regex matches (part of) a string)

regex=ur"" #正则表达式

match = re.search(regex, subject)

if match:

# match start: match.start()

# match end (exclusive): atch.end()

# matched text: match.group()

do_something()

else:

do_anotherthing()

4.获取正则表达式所匹配的子串(Get the part of a string matched by the regex)

regex=ur"" #正则表达式

match = re.search(regex, subject)

if match:

result = match.group()

else:

result = ""

正则表达式匹配中文,Python语句该怎么写?求帮忙。

你好:

下面是我总结的一些正则表示的用法:

请参考:

## 总结

## ^ 匹配字符串的开始。

## $ 匹配字符串的结尾。

## \b 匹配一个单词的边界。

## \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) 一般情况下表示一个记忆组 (remembered group)。你可以利用 re.search 函数返回对

## 象的 groups() 函数获取它的值。

##正则表达式中的点号通常意味着 “匹配任意单字符”

python中正则匹配

你好:

给你一些正则表达式的语法:

## 总结

## ^ 匹配字符串的开始。

## $ 匹配字符串的结尾。

## \b 匹配一个单词的边界。

## \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) 一般情况下表示一个记忆组 (remembered group)。你可以利用 re.search 函数返回对

## 象的 groups() 函数获取它的值。

##正则表达式中的点号通常意味着 “匹配任意单字符”

python 字符串正则匹配的问题

理解错了。r"2x\+5y"这里是指对 字符串 中的"\"不做转义处理;

而正则表达式中"\+"表示的是对 正则表达式 中的"+"做转义处理,这是因为"+"在正则表达式中有特殊含义,这和字符串的转义是没有关系的。

说的更清楚一点就是,你在程序里写"\\+"或者r"\+"在内存里都是保存了一个"\"和一个"+",而正则表达式引擎只要从内存读取到一个连续的"\"和"+",就会理解为你想要匹配"+"这个字符。

所以说,如果你不在字符串前写r,那个正则表达式字符串应该这么写的:

"2x\\+5y|7y-3z"