Notepad ++和regex:如何UPPERCASE字符串/ find / replace的特定部分

时间:2014-08-20 21:29:54

标签: regex text format notepad++ uppercase

我已经尝试了一段时间才能使这个工作,但我自己找不到这个任务的解决方案 - 好吧,我对正则表达式使用非常新,但很有兴趣学习,希望任何人都有对我来说有些大脑食物......

我的文字字符串是这样的 - 没有数字......

Word1 Word2 word3(括号中的一些词)
Word1(括号中的一些词)
word1,Word2(括号中的一些单词)

表示: 无限数量的单词(有时只有一个,可能是2到4,有时用逗号分隔)后跟一个圆括号中的字符串(括号中的值不应更改)

我正在寻找的是两种不同的正则表达式 - 在记事本++中使用 FIND和REPLACE
1。只有括号前所有单词的大写字母 2.喜欢no.1 +添加html-tags)

应该是这样的:1:

WORD1 WORD2 WORD3(括号中的一些词)
WORD1(括号中的一些词)
WORD1,WORD2(括号中的一些词)

和2:

编辑:第二个html-tag位置错误,现在正确!

%htmltag%WORD1 WORD2 WORD3%/ htmltag%(括号中的某些单词)
%htmltag%WORD1%/ htmltag%(括号中的某些单词)
%htmltag%WORD1,WORD2%/ htmltag%(括号中的某些单词)

希望有人可以帮助我 - 非常有用!

2 个答案:

答案 0 :(得分:13)

对于第1部分,您可以使用

Find:  ^(.*?)(?=\()
Replace \U\1

确保选中正则表达式

第2部分

Find: ^(.*?)(\(.*?\))
Replace:%htmltag%\1%/htmltag%\2

需要

WORD1 WORD2 WORD3 (some words in brackets)
WORD1 (some words in brackets)
WORD1, WORD2 (some words in brackets)

并将其转换为

%htmltag%WORD1 WORD2 WORD3 %/htmltag%(some words in brackets)
%htmltag%WORD1 %/htmltag%(some words in brackets)
%htmltag%WORD1, WORD2 %/htmltag%(some words in brackets)

答案 1 :(得分:6)

场景1:为Notepad ++

上的匹配生成大写

你可以使用这样的正则表达式:

\(.*?\)|(\w+)

<强> Working demo

然后在Find/Replace对话框中,您可以将\U\1放在Replace with上。因此,如果你越过Find Next,你可以替换字符串以生成大写输出。

enter image description here

场景2:在每一行连接标签

您可以使用此正则表达式:

(.+?)\[

<强> Working demo

enter image description here