正则表达式解析每行的第一个字母?

时间:2012-11-21 16:31:08

标签: regex lua

这是清单:

Work
Work
Fire
Global

我想从中提取字符串WWFG[(?).*\n]只是给我Global。我应该使用什么?

对于上下文,我使用的是Rainmeter的webparser插件。

7 个答案:

答案 0 :(得分:2)

试试这个:(?simU)^(.)
RainRegExp似乎缺少替换功能,因此不可能将所有捕获连接成一个字符串。

答案 1 :(得分:1)

您需要使用带有anchor的多行标记。我会使用:/^(.)/gm(语法因语言而异)

请参阅此处的示例:http://regex101.com/r/uC1gV5

答案 2 :(得分:1)

最简单的方法取决于您使用的语言,但您想要替换

(.).*\n

$1

答案 3 :(得分:1)

(?siU)(?(?=.)(.))(?(?=.*\n).*\n(.))(?(?=.*\n).*\n(.))(?(?=.*\n).*\n(.))

Answered by @moshi here.它与Rainmeter完美配合。

答案 4 :(得分:0)

我不知道你正在使用什么语言,但这里有一些Python!

>>> import re
>>> ''.join(re.findall("(.).*", "Work\nWork\nFire\nGlobal"))
'WWFG'

答案 5 :(得分:0)

这将捕获每行的第一个字符

([a-z])[^\n]+\n*

替换为\1$1

根据文字中的内容,您可能需要将[a-z]更改为更全面的内容

答案 6 :(得分:0)

如果是Lua,请尝试s:gsub("(.).-\n","%1")