Regex 正则表达式,仅从每行中获取第一个单词

Regex 正则表达式,仅从每行中获取第一个单词,regex,notepad++,Regex,Notepad++,我有一个文本文件 @sp_id int, @sp_name varchar(120), @sp_gender varchar(10), @sp_date_of_birth varchar(10), @sp_address varchar(120), @sp_is_active int, @sp_role int 这里,我只想从每行中得到第一个

我有一个文本文件

@sp_id      int,    
@sp_name                varchar(120),
@sp_gender              varchar(10),
@sp_date_of_birth       varchar(10),
@sp_address             varchar(120),
@sp_is_active           int, 
@sp_role            int
这里,我只想从每行中得到第一个单词。我该怎么做?单词之间的空格可以是空格选项卡等。

查找内容:
^(\S+).$

替换为:
\1

您只需使用它来获取第一个单词。这里我们捕获组中的第一个单词,并用捕获的组替换while行。

查找内容:
^(\S+).$

替换为:
\1


您可以简单地使用它来获取第一个单词。在这里,我们将捕获组中的第一个单词,并用捕获的组替换while行。

以下是我的建议:

查找内容:
^([^\t]+).

替换为
$1

说明:
^
匹配行首,
([^\t]+)
匹配1个或多个字符(由于
+
)而不是
空格和
选项卡
(由于
[^\t]
),然后匹配任何数量的字符,直到行尾的
*

请参见设置:

如果您可能有前导空格,您可能希望使用

^\s*([^ \t]+).*

以下是我的建议:

查找内容:
^([^\t]+).

替换为
$1

说明:
^
匹配行首,
([^\t]+)
匹配1个或多个字符(由于
+
)而不是
空格和
选项卡
(由于
[^\t]
),然后匹配任何数量的字符,直到行尾的
*

请参见设置:

如果您可能有前导空格,您可能希望使用

^\s*([^ \t]+).*


/^\w+/gm
查找每行的第一个单词用
/^\w+/gm

查找每行的第一个单词是,从每行我想要第一个单词。那么在第一行@sp_idan中,左边的任何字符都不是空格或制表符^[^\t]+虽然标签是notepad++,但问题中没有任何内容与之相关。。。例如,在perl中,您可以执行
/^(\S+)/
来获取行的第一个非空格部分。其他系统使用类似的语法。取决于正则表达式方言,\S可能不起作用。是的,从每一行我都想要第一个单词。那么在第一行@sp_idan中,左边的任何字符都不是空格或制表符^[^\t]+虽然标签是notepad++,但问题中没有任何内容与之相关。。。例如,在perl中,您可以执行
/^(\S+)/
来获取行的第一个非空格部分。其他系统使用类似的语法。取决于正则表达式方言,\S可能不起作用。在“查找什么”框中使用什么?如果我将
^\S+
放在
查找什么:
中,然后将什么放在
替换为:
您可以编辑您的答案,将
的值放在
查找什么和
替换为
中吗。也请解释一下。谢谢“查找内容”框中使用了什么?如果我将
^\S+
放在
查找内容:
中,那么将
中的内容替换为:
您可以编辑您的答案,为
查找内容和
替换为
输入值吗。也请解释一下。谢谢我忘了说,
$1
是对第一个捕获组(即
([^\t]+)
)捕获的文本的反向引用。我还假设您没有空的第一个单词:)。祝你好运。初学者问题。所以基本上([^\t]+)是在捕捉那行的第一个单词,对吗?@AndyUK是的。事实上,我会使用
\S+
而不是
[^\t]+
,因为
[^\t]+
匹配除常规空格和制表符之外的任何字符,因此可以匹配换行符。查找:一个
空格,后跟
*
↦ 替换为:
nothing
给出的结果与您的答案相同,Wiktor先生……@HajiRahmatullah是的,除非有前导空格。在这种情况下,您可以先使用
^\s+
将它们替换为空字符串,然后使用
“*”
并替换为空字符串。我忘了说
$1
是第一个捕获组捕获的文本的反向引用(即
([^\t]+)
)。我还假设您没有空的第一个单词:)。祝你好运。初学者问题。所以基本上([^\t]+)是在捕捉那行的第一个单词,对吗?@AndyUK是的。事实上,我会使用
\S+
而不是
[^\t]+
,因为
[^\t]+
匹配除常规空格和制表符之外的任何字符,因此可以匹配换行符。查找:一个
空格,后跟
*
↦ 替换为:
nothing
给出的结果与您的答案相同,Wiktor先生……@HajiRahmatullah是的,除非有前导空格。在这种情况下,您可以先使用
^\s+
将它们替换为空字符串,然后使用
“*”
并替换为空字符串。