Regex 从字符串中取出两个数字中的一个
我有一个字符串列表,例如:Regex 从字符串中取出两个数字中的一个,regex,Regex,我有一个字符串列表,例如:Ø20X400 我需要提取第一个数字-在Ø和X之间 到目前为止,我将这些数字与\d+-简单地匹配起来。。。 但是我需要一个表达式来分离第一个值,而不是两个…我知道的正则表达式引擎将\n解析为换行符\d用于数字 下面的正则表达式给出了捕获组中aØ和aX之间的第一个数字: ^.*?Ø(\d+)X.* Ø(\d+)X 我知道的正则表达式引擎将\n解析为新行\d用于数字 下面的正则表达式给出了捕获组中aØ和aX之间的第一个数字: ^.*?Ø(\d+)X.* Ø(\d+)
Ø20X400
我需要提取第一个数字-在Ø和X之间
到目前为止,我将这些数字与\d+
-简单地匹配起来。。。
但是我需要一个表达式来分离第一个值,而不是两个…我知道的正则表达式引擎将
\n
解析为换行符<代码>\d用于数字
下面的正则表达式给出了捕获组中aØ
和aX
之间的第一个数字:
^.*?Ø(\d+)X.*
Ø(\d+)X
我知道的正则表达式引擎将
\n
解析为新行<代码>\d用于数字
下面的正则表达式给出了捕获组中aØ
和aX
之间的第一个数字:
^.*?Ø(\d+)X.*
Ø(\d+)X
您可以使用lookarounds
(?您可以使用lookarounds(?此正则表达式将为您执行,(\d+?)X
),下面是一个。请看,您希望将数字分组在一起,但使其不贪婪,结束对X
的计算,此正则表达式将为您执行,(\d+)X
,这是一个。请参见,您想将数字分组在一起,但要使其非贪婪,结束对X
的计算,请尝试以下方法:
\d+(?=\D)
应该找到前面没有数字的第一个数字试试这个:
\d+(?=\D)
如果发现第一个数字前面有一些不是普通正则表达式的数字,我会说:
Ø(\d+)X
这将查找Ø
字符,后跟一个或多个数字,后跟一个X。此外,这些数字将存储在第一个捕获组中。捕获组在不同的正则表达式实现中有所不同,但这通常由\1
表示。捕获组零,\0
通常是与其匹配的字符串self。在此版本中,\d
表示数字0-9,但如果您的正则表达式引擎为此目的使用\n
,请使用:
对于正规正则表达式,我想说:
Ø(\d+)X
这将查找Ø
字符,后跟一个或多个数字,后跟一个X。此外,这些数字将存储在第一个捕获组中。捕获组在不同的正则表达式实现中有所不同,但这通常由\1
表示。捕获组零,\0
通常是与其匹配的字符串self。在此版本中,\d
表示数字0-9,但如果您的正则表达式引擎为此目的使用\n
,请使用:
Ø(\n+)X
如何匹配数字?\n
表示“换行”,您想使用\d
表示“数字”。啊,我的坏,打错了:\n+
如何匹配数字?\n
表示“换行”,您想使用\d
表示“数字”。啊,我的坏,打错了:\n>没有任何意义代码>部分在开头,部分在结尾,除非他也想捕获整个输入。感谢到Debuggex的链接!在^.*.*.
部分在开头,部分在结尾,除非他也想捕获整个输入。感谢到Debuggex的链接!我想我在我看到这个“lookaround”概念之前,我对正则表达式了如指掌。酷!@JimL.:lookaround是向后看和向前看的快捷方式。有关更多信息,请访问www.regular-expressions.info。在看到这个“lookaround”之前,我以为我对正则表达式了如指掌concept.Cool!@JimL.:lookaround是向后看和向前看的快捷方式。有关更多信息,请参阅www.regular-expressions.info。