Regex 需要帮助精炼正则表达式吗

Regex 需要帮助精炼正则表达式吗,regex,perl,Regex,Perl,我的正则表达式与我不希望匹配的字符串匹配时出现问题。我似乎找不到表达式的正确语法。以下是一个例子: 字符串: abc09876543209,~~Z 10Y-123~这是一个测试^ABC-DE-\u F 正则表达式: 我认为,\d*部分将删除逗号后面没有数字的字符串 有什么建议可以让它工作吗?*的意思是“零或更多”,因此它也不会匹配任何数字 使用\d+或\d\d*匹配至少一个数字*表示“零或多”,因此它也不会匹配任何数字 使用\d+或\d\d*匹配至少一个数字“*”表示“零或多个”。您可能需要

我的正则表达式与我不希望匹配的字符串匹配时出现问题。我似乎找不到表达式的正确语法。以下是一个例子:

字符串:
abc09876543209,~~Z 10Y-123~这是一个测试^ABC-DE-\u F
正则表达式:
我认为
,\d*
部分将删除逗号后面没有数字的字符串

有什么建议可以让它工作吗?

*
的意思是“零或更多”,因此它也不会匹配任何数字

使用
\d+
\d\d*
匹配至少一个数字

*
表示“零或多”,因此它也不会匹配任何数字

使用
\d+
\d\d*
匹配至少一个数字

“*”
表示“零或多个”。您可能需要
“+”
,这意味着“一个或多个”。所以

m/^.*?,\d+[\~]{2}\w\s\d*\w-\d*~.*?\^.*?-.*?-.*?_\w$/
不匹配

",~~Z 10Y-123~This is a test^ABC-DE-_F"
“*”
表示“零或更多”。您可能需要
“+”
,这意味着“一个或多个”。所以

m/^.*?,\d+[\~]{2}\w\s\d*\w-\d*~.*?\^.*?-.*?-.*?_\w$/
不匹配

",~~Z 10Y-123~This is a test^ABC-DE-_F"