Php 由特定范围和长度组成的正则表达式匹配号?
我正在尝试匹配一个数字,该数字可能由Php 由特定范围和长度组成的正则表达式匹配号?,php,regex,Php,Regex,我正在尝试匹配一个数字,该数字可能由[1-4]组成,长度为{1,1} 我尝试了以下多种变体,但都不起作用: /^string\-(\d{1,1})[1-4]$/ 有什么指导方针吗?谢谢 这并不难: /^string-([1-4]{1})$/ 您只需使用: /^string-[1-4]$/ 匹配字符串的开头,后跟单词“string-”,后跟一个数字,从1到4,以及字符串的结尾。这将只匹配此字符串,而不匹配其他字符串 如果这是一个较大字符串的一部分,而您只需要一个部分,则可以使用以下内容: /
[1-4]
组成,长度为{1,1}
我尝试了以下多种变体,但都不起作用:
/^string\-(\d{1,1})[1-4]$/
有什么指导方针吗?谢谢 这并不难:
/^string-([1-4]{1})$/
您只需使用:
/^string-[1-4]$/
匹配字符串的开头,后跟单词“string-”,后跟一个数字,从1到4,以及字符串的结尾。这将只匹配此字符串,而不匹配其他字符串
如果这是一个较大字符串的一部分,而您只需要一个部分,则可以使用以下内容:
/string-[1-4]\b/
它与上面的匹配几乎相同,只是作为更大字符串的一部分
您还可以(在任一选项中)将字符类(
[1-4]
)包装在括号中,以将其作为匹配数组的一个单独部分(在使用preg\u match/preg\u match\u all时)。/^[1-4]$/
是您所需要的全部(根据您的描述),但我猜还有更多。啊,最后!我想我也必须使用\d
。\d
只是[0-9]
的缩写(这只是[0123456789]
的缩写)。根本不需要。你为什么不回答呢?不需要{1}
。字符类表示已经有一个字符。您可能只想在字符类后面加一个\b
,以防止出现多个数字。谢谢您的帮助,Jonathan。