【问题标题】:Keep the RegExp search value and add保留 RegExp 搜索值并添加
【发布时间】:2014-01-02 21:52:27
【问题描述】:

如何返回我在 RegExp 中搜索的值,然后添加我的修饰符? 例如,下面的 RegExpression 将搜索逗号之间的任何单词。

[^,\s][^\,]*[^,\s]*

以下是我的输入:

Biscuit, Pudding, Pizza, Beans

但是我找不到在这些词中添加“奶酪-”之类的词的方法。预期的输出是:

Cheese-Biscuit, Cheese-Pudding, Cheese-Pizza, Cheese-Beans

【问题讨论】:

  • 你的问题真的不清楚! “修饰符”是什么意思?词修饰符has a meaning in regex。除此之外,您使用什么语言?你也可以通过\s*,\s*拆分。如果您添加了预期的输出,将会很有帮助。
  • 我想在我搜索的值中添加一个单词(例如通配符)。我想修改最终值,使我的列表变为“奶酪饼干、奶酪布丁、奶酪比萨饼、奶酪豆。在 Notpad+ 列表中使用 RegExp 大约有 1,000 项,因此不建议手动操作。谢谢。
  • @Greg 这是什么语言?
  • @RyanCarlson Notepad++,查看他们的regex manual

标签: regex search notepad++


【解决方案1】:

在记事本++中执行CTRL+H,在替换窗口搜索模式块中,检查正则表达式。 然后在 Find what 字段类型:([^,\s][^\,]*[^,\s]*) 并在 Replace with 字段类型:Cheese-\1 然后全部替换,你会看到这样的结果:

Cheese-Biscuit, Cheese-Pudding, Cheese-Pizza, Cheese-Beans

【讨论】:

  • 没有组,你可以使用$0 :)
  • @HamZa 这是为了清楚起见
【解决方案2】:

更新-您已更改为记事本++。如果对别人有用,我会离开。

假设 Javascript(因为你提到 RegExp):

var str = "Biscuit, Pudding, Pizza, Beans";
var patt1 = /[^,\s][^\,]*[^,\s]*/g;
var result = str.replace(patt1,"Cheese-" + "$&");

输出:

芝士饼干、芝士布丁、芝士披萨、芝士豆

$& 插入匹配的子字符串。

/g 进行全局匹配 - 所有匹配的单词。

更多信息请参见here。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多