- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我试图写正则表达式来识别以 MR|MS|THE|DR 开头的名字
例如
HONOURABLE THE CHIEF JUSTICE MR. JUSTICE
1 VIKRAM NATH,HONOURABLE MR. JUSTICE 1 1 0 3 5
J.B.PARDIWALA
HONOURABLE THE CHIEF JUSTICE MR. JUSTICE
2 VIKRAM NATH,HONOURABLE MR. JUSTICE VIPUL M. 0 1 0 0 1
PANCHOLI
HONOURABLE THE CHIEF JUSTICE MR. JUSTICE
3 VIKRAM NATH,HONOURABLE MR. JUSTICE ASHUTOSH 107 4 10 6 127
J. SHASTRI
所以,输出应该是
[THE CHIEF JUSTICE MR. JUSTICE VIKRAM NATH, MR. JUSTICE J.B.PARDIWALA]
[THE CHIEF JUSTICE MR. JUSTICE VIKRAM NATH, MR. JUSTICE VIPUL M. PANCHOLI]
and so on
但我得到
THE CHIEF JUSTICE MR. JUSTICE VIKRAM NATH
MR. JUSTICE 1 1 0 3 5
J.B.PARDIWALA
我试过
\s*HONOURABLE\s+(?=THE|MR|MS|DR)([^/\[\]\n]*)
HONORABLE 可以重复任何编号。次。
最佳答案
赏金答案
您可以使用
import re
text = """ HONOURABLE THE CHIEF JUSTICE MR. JUSTICE
1 VIKRAM NATH,HONOURABLE MR. JUSTICE 1 1 0 3 5
J.B.PARDIWALA
HONOURABLE THE CHIEF JUSTICE MR. JUSTICE
2 VIKRAM NATH,HONOURABLE MR. JUSTICE VIPUL M. 0 1 0 0 1
PANCHOLI
HONOURABLE THE CHIEF JUSTICE MR. JUSTICE
3 VIKRAM NATH,HONOURABLE MR. JUSTICE ASHUTOSH 107 4 10 6 127
J. SHASTRI"""
text = re.sub(r'^[\d \t]+|[\d \t]+$', '', text, flags=re.M)
#print(text)
m = re.findall(r'^HONOURABLE\s+(.*(?:\n(?!HONOURABLE\b).*)*)', text, re.M)
for x in m:
print(x.replace('\n',' '))
输出:
[
'THE CHIEF JUSTICE MR. JUSTICE VIKRAM NATH,HONOURABLE MR. JUSTICE J.B.PARDIWALA',
'THE CHIEF JUSTICE MR. JUSTICE VIKRAM NATH,HONOURABLE MR. JUSTICE VIPUL M. PANCHOLI',
'THE CHIEF JUSTICE MR. JUSTICE VIKRAM NATH,HONOURABLE MR. JUSTICE ASHUTOSH J. SHASTRI'
]
见
Python demo .
re.sub(r'^[\d \t]+|[\d \t]+$', '', text, flags=re.M)
从文本中每行的开头和结尾删除所有空格、制表符和数字。r'^HONOURABLE\s+(.*(?:\n(?!HONOURABLE\b).*)*)'
是与“修剪”文本中的以下内容匹配的正则表达式:^
- 一行的开始HONOURABLE
- 一句话HONOURABLE
\s+
- 一个或多个空格(.*(?:\n(?!HONOURABLE\b).*)*)
- 捕获组 1:.*
- 该行的其余部分 (?:\n(?!HONOURABLE\b).*)*
- 零个或多个不以 HONOURABLE
开头的行作为一个整体。 \bHONOURABLE\s+((?:THE|MR|MS|DR)[^,]*)
见
regex demo .如果您不想在结果列表项中包含换行符,您可以稍后用
.replace('\n', ' ')
替换它们。 .如果您想在
[
处限制比赛的右手边边界,
\
和
]
,将它们添加到否定字符类,更改
[^,]
至
[^][/,]
.
\bHONOURABLE
- 一个字HONOURABLE
\s+
- 一个或多个空格 ((?:THE|MR|MS|DR)[^,]*)
- 捕获组 1:THE
, MR
, MS
, DR
后跟零个或多个除逗号以外的字符。 import re
rx = r"\bHONOURABLE\s+((?:THE|MR|MS|DR)\b[^,]*)"
text = "HONOURABLE THE CHIEF JUSTICE MR. JUSTICE\nVIKRAM NATH,HONOURABLE MR. JUSTICE ASHUTOSH\nJ. SHASTRI, HONOURABLE MS. ADITI GUPTA"
m = re.findall(rx, text)
print([x.replace('\n','') for x in m])
输出:
['THE CHIEF JUSTICE MR. JUSTICEVIKRAM NATH', 'MR. JUSTICE ASHUTOSHJ. SHASTRI', 'MS. ADITI GUPTA']
关于python - 用于提取以 Mr.|Mrs|The|DR 开头的姓名的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66046399/
我在代码中添加了import java.util.ArrayList;(per suggestions here),然后出现2种错误。他们是: error: the type of the exp
import java.util.Scanner; public class Question_11 { public void main(String[] args) {
//在下面的代码行中,要求用户输入长度来确定正二十面体的体积,但是,当输入时,程序总是输出 0.0 作为体积的答案??? import java.io.*; //allows I/o statemen
这表明我的局部变量newaccbalance可能尚未初始化。我知道我将其声明为 double 。请帮忙 import java.util.*; public class Pg244Problem12
我想用以下方式在 Dr. Scheme 中表示一个图: 对于我想存储它的值和相邻节点列表的每个节点,我遇到困难的问题是我希望将相邻节点存储为对其他节点的引用。 例如:我希望节点 ny 存储为 („NY
看看下面的 while 循环。 SqlDataReader dr; while (dr.Read()) { Response.Write("insert into test values(N'"+dr
JDK 编译器说它可以编译,但是当它运行时我得到这个错误: Static Error: This class does not have a static void main method accep
在DR 2137我们有以下文本(重点是我的): It is not clear in code like the following that selecting a copy/move constr
DR 712负责将 C++11 中 [basic.def.odr]/2 的措辞更改为今天的当前措辞,在 [basic.def.odr]2 and 3 中.但我仍在尝试理解更改的原因,如DR中所述,如下
我的目录结构为:/apps/amr。我想按原样备份 amr(即不取消引用链接)。现在/apps 目录有一个不同的用户和它所属的组(我没有访问权限到那个)。我以不同的用户和组登录。所以显然在 /apps
在构建某些功能时,我可能会犯一些错误。发生这种情况时,我单击运行并必须重新输入所有以前的定义和新的尝试。 有什么方法可以“取消定义”之前的 (define (func args ...) body)
我一直不小心在 Doctor Racket 中按 ctrl-t,然后当它打开一个新选项卡时,我知道如何摆脱不需要的新选项卡的唯一方法是关闭所有内容并重新打开我要编辑的文件。 有没有更好的办法? 最佳答
所以我目前正在大学学习java入门类(class),到目前为止我已经成功地找出并解决了问题。到目前为止。当我尝试打开和读取文件时遇到某种编译错误。我按照我的课本及其基本代码的设定说明来执行此操作,但最
我在 Dr-Racket 中写了一个简单的代码,但它不起作用。这是代码: (place-image (circle 5 "solid" "green") 50 80
我正在尝试创建一个程序,其中一个对象会不断地从屏幕上掉下来,除非用户按下空格键,在这种情况下它会向上移动。到目前为止,当我运行程序时,我已经让物体开始下落。当我按下空格键时,对象会向上移动(就像它应该
尝试导入我在 Dr. Java 中创建的类。我创建了一个名为 QuestionObject 的简单类,其中包含 String QuestionString 和一个答案数组,然后是一个对应于正确答案和相
问题是当列表有不同的长度时,知道如何去做吗? 我必须使用像 map 之类的函数 这是我到目前为止编写的代码,它适用于相同长度的列表,但它也需要处理不同长度的列表。谢谢。 (define (interl
我正在尝试在我的 ASP.NET 网站上创建一个登录表单。目前,有一些问题。我正在尝试合并该功能,以便登录用户具有仅查看其个人资料的特权。登录页面的代码是这样的: business.clsprofil
/*This is a quiz program that will ask the user 10 questions. the user will answer * these question
如何根据鼠标悬停在哪个按钮上将 Jlabel info3 设置为不同的文本消息?现在我不知道如何区分鼠标当前悬停在哪个按钮上。这是我的代码 import javax.swing.*;//You nee
我是一名优秀的程序员,十分优秀!