我正在尝试为restful API
创建一个URL路由规则。
我需要遵循三个简单规则的Regex
:
com.test.package
test-health
我已经尝试过这个规则它匹配除了像字符串之类的android包名之外的所有内容。这是规则:
<id:\\w+[.+]?>
PS:我在Regex
的网址路由中使用此Yii2 Framework
,其内部处理^
和$
作为正则表达式字符串的开头和结尾,所以我有省略那些。
答案 0 :(得分:1)
您在构建角色类时犯了一个错误,其中添加了+
。我假设您正在尝试应用量词,但它在字符类中不起作用。 [.+]?
表示句点或文字+
或根本不表示。
因此,如果您删除+
,那么您的正则表达式即将开始工作\w+\.?
。但它并不匹配所有连续出现的单词和句点,例如word.word.word
您还必须量化整个表达式:(?:\w+\.?)+
最符合您需求的正则表达式为^\w+(?:\.\w+)*$