在同一个正则表达式中查找带有 dash/hyphen 和不带 dash/hyphen 的单词?
Finding words with dash/hyphen and without in same regex?
有以下例子:
查找:\(([A-Z][A-Za-z-\s])\) -- (Ki-Woo)
查找:\(([A-Z][A-Za-z\s])\) -- (Drunk)
如何使用相同的正则表达式找到 (Ki-Woo) 和 (Drunk)?
此外,我如何找到应该有 SPACE 的实例?
MR.SMITH ------> 先生。史密斯
应该是 和 MR 之间的 space。和史密斯
提前致谢!
编辑:
\([A-Z]*(?:(\h*|-)[A-Z0-9][a-z]*)*\)
仍然不确定如何将结果传递给 NP++ 中的 Replace: 字段? ?
The ($1) 在类似的 Find: below 上为 MR 工作。 SMITH:但不是上面那个和 (Ki-Woo);(Drunk);(Woman 1)
查找:([A-Z][A-Z\.\s]*\:+)
替换:\<font color\=\"\#FFA500\"\>\<b\>()\<\/b\>\<\/font\>
不确定 ($1) ....观看更多 UTube
第一个问题:
(\w+-)?[\w-]+
以上模式匹配带破折号和不带破折号的单词,除了它还捕获第一个单词后跟破折号,并将它们捕获到一个组中。然后,您可以检查第一组是否有任何值。如果是,则该词的格式为 something-something
,否则不带破折号。 请注意,这仅适用于破折号出现在连续字母中间的非常基本的情况,如果您想要更具体的 RegEx 模式,则需要修改它以满足您的需求。
对于你的第二个问题,以下模式可能是一个有效的例子。
[>\.]\w
这适用于您发布的案例,因为它匹配大于号或后跟任意字母的点。
同样,要拥有满足您特定需求的 RegEx 模式,您需要确定要搜索的模式,并从那里构建 RegEx 模式。
不确定你的问题..
但也许这段代码就是您要找的..
查找:(?<=\()Drunk|ki-Woo(?=\))
这将检测到 drunk
和 ki-Woo
被方括号 ()
包围
但括号不会成为其中的一部分...
关于 Mr.Smith 和史密斯先生 ...
space,
后面加问号即可
例如。 Mr. ?Smith
将同时检测到它们....
对于第一个问题,使用:
\([A-Z)[a-z]*(?:-[A-Z][a-z]*)*\)
第二个:
\h*MR\.\h*[A-Z]+
Find: ([A-Z][A-Z\.\s]*\:+)
Replace: \<font color\=\"\#FFA500\"\>\<b\>()\<\/b\>\<\/font\>
From: MR. SMITH:
To: <font color="#FF4500"><b>MR. SMITH:</b></font>
不确定为什么 ($1) 在上面起作用但在下面不起作用:
Find: \([A-Z)[a-z]*(?:-[A-Z][a-z]*)*\)
Replace: \<font color\=\"\#FFA500\"\>\<b\>\:\<\/b\>\<\/font\>
From: (Ki-Woo)
To: <font color="#FF4500"><b>Ki-Woo:</b></font>
如您所见,我仍在婴儿学步中....曾经和比尔·默里一起看过“鲍勃怎么样”...我看过的最有趣的电影。所以我基本上不知道如何获取 Find: 的结果并将其放入 Replace:
我不得不参考的例子:
Find: (?<=\[)([^]]+) ;[ across two lines ]
Replace: \U ;Uppercase
Replace: \L ;Lowercase
用圆括号替换方括号
Find: \[([^A-Z].+?)\] ;[dramatic music]
Replace: \(\) ;(dramatic music)
有以下例子:
查找:\(([A-Z][A-Za-z-\s])\) -- (Ki-Woo)
查找:\(([A-Z][A-Za-z\s])\) -- (Drunk)
如何使用相同的正则表达式找到 (Ki-Woo) 和 (Drunk)?
此外,我如何找到应该有 SPACE 的实例?
MR.SMITH ------> 先生。史密斯
应该是 和 MR 之间的 space。和史密斯
提前致谢!
编辑:
\([A-Z]*(?:(\h*|-)[A-Z0-9][a-z]*)*\)
仍然不确定如何将结果传递给 NP++ 中的 Replace: 字段? ?
The ($1) 在类似的 Find: below 上为 MR 工作。 SMITH:但不是上面那个和 (Ki-Woo);(Drunk);(Woman 1)
查找:([A-Z][A-Z\.\s]*\:+)
替换:\<font color\=\"\#FFA500\"\>\<b\>()\<\/b\>\<\/font\>
不确定 ($1) ....观看更多 UTube
第一个问题:
(\w+-)?[\w-]+
以上模式匹配带破折号和不带破折号的单词,除了它还捕获第一个单词后跟破折号,并将它们捕获到一个组中。然后,您可以检查第一组是否有任何值。如果是,则该词的格式为 something-something
,否则不带破折号。 请注意,这仅适用于破折号出现在连续字母中间的非常基本的情况,如果您想要更具体的 RegEx 模式,则需要修改它以满足您的需求。
对于你的第二个问题,以下模式可能是一个有效的例子。
[>\.]\w
这适用于您发布的案例,因为它匹配大于号或后跟任意字母的点。
同样,要拥有满足您特定需求的 RegEx 模式,您需要确定要搜索的模式,并从那里构建 RegEx 模式。
不确定你的问题.. 但也许这段代码就是您要找的..
查找:(?<=\()Drunk|ki-Woo(?=\))
这将检测到 drunk
和 ki-Woo
被方括号 ()
包围
但括号不会成为其中的一部分...
关于 Mr.Smith 和史密斯先生 ...
space,
后面加问号即可
例如。 Mr. ?Smith
将同时检测到它们....
对于第一个问题,使用:
\([A-Z)[a-z]*(?:-[A-Z][a-z]*)*\)
第二个:
\h*MR\.\h*[A-Z]+
Find: ([A-Z][A-Z\.\s]*\:+)
Replace: \<font color\=\"\#FFA500\"\>\<b\>()\<\/b\>\<\/font\>
From: MR. SMITH:
To: <font color="#FF4500"><b>MR. SMITH:</b></font>
不确定为什么 ($1) 在上面起作用但在下面不起作用:
Find: \([A-Z)[a-z]*(?:-[A-Z][a-z]*)*\)
Replace: \<font color\=\"\#FFA500\"\>\<b\>\:\<\/b\>\<\/font\>
From: (Ki-Woo)
To: <font color="#FF4500"><b>Ki-Woo:</b></font>
如您所见,我仍在婴儿学步中....曾经和比尔·默里一起看过“鲍勃怎么样”...我看过的最有趣的电影。所以我基本上不知道如何获取 Find: 的结果并将其放入 Replace:
我不得不参考的例子:
Find: (?<=\[)([^]]+) ;[ across two lines ]
Replace: \U ;Uppercase
Replace: \L ;Lowercase
用圆括号替换方括号
Find: \[([^A-Z].+?)\] ;[dramatic music]
Replace: \(\) ;(dramatic music)