其他教程

其他教程

Products

当前位置:首页 > 其他教程 >

请问以下字符串如何用正则表达式来表达

GG网络技术分享 2025-03-18 16:15 2


问题描述:

b\'maritime; wet, moderate winters, cool summers\\r\\r\\n\'

b\'Terrain:\\r\\r\\n\'

b\'marshy, lowlands; flat in the north, hilly in the south\\r\\r\\n\'

b\'12.7 deaths/1,000 population (2018 est.)\\r\\r\\n\'

就是b\' \\r\\r\\n\' 中间为任意字符

网友观点:

[\\bb\'](.+)[\\b\\\\r\\\\r\\\\n\']

使用\\b锁定边界b’和\\r\\r\\n’

String regix=\\\"b\'.*\\\\r\\\\r\\\\n\'\\\"

如果是勉强型(匹配最短的)则是

String regix=\\\"b\'.*?\\\\r\\\\r\\\\n\'\\\"

import re

a = \\\"b\'maritime; wet, moderate winters, cool summers\\r\\r\\n\'\\\"

b = re.compile(\\\"^b\'(.*)\\r\\r\\n\'$\\\")

c = b.match(a)

if c and c.groups()[0]:

print c.groups()[0]

字符串与正则表达式

更好的Unicode支持

早期,由于存储空间宝贵,Unicode使用16位二进制来存储文字。我们将一个16位的二进制编码叫做一个码元(Code Unit)。

后来,由于技术的发展,Unicode对文字编码进行了扩展,将某些文字扩展到了32位(占用两个码元),并且,将某个文字对应的二进制数字叫做码点(Code Point)。

使用charCodeAt来得到码元

ES6为了解决这个困扰,为字符串提供了方法:codePointAt,根据字符串码元的位置得到其码点。

同时,ES6为正则表达式添加了一个flag: u,如果添加了该配置,则匹配时,使用码点匹配。

标签:

提交需求或反馈

Demand feedback