1

我在 Notepad++ 中有几行看起来与此类似

A8s KQo QTs A9s A9s AJo AJo 99  KQo A5s

我想做的是将每个单词用引号引起来,后面可以用逗号。

我试过匹配[A-Za-z\d]{2-3},但我没有得到任何匹配。

期望的结果:

 "A8s", "KQo",  "QTs",  //etc...
4

2 回答 2

2

因为在量词中,你需要一个逗号,而不是破折号:

[A-Za-z\d]{2,3}
            ^

否则,您实际上是在匹配 characters {2-3},因此您当前的正则表达式将匹配如下内容:

A{2-3}

您可能希望将其包装在捕获组中,如下所示:

([A-Za-z\d]{2,3})

然后将其替换为对捕获的内容的引用,但用引号括起来,类似于:

"$1",
于 2012-12-19T14:39:26.633 回答
2

nickb 说的是真的,但您可能需要考虑添加单词边界:

\b[A-Za-z0-9]{2,3}\b

否则如果你的输入有更长的词,太喜欢

A8s KQo ABCD 1234

你会得到类似的结果

"A8s" "KQo" "ABC"D "123"4

单词边界确保您只能匹配整个单词。

于 2012-12-19T14:41:47.747 回答