写一个java正则表达式,要求以1个或多个英文数字或中文字母开头,后面有1个或多个/xxx格式的字符串,其中xxx可以为1个或多个英文数字或中文字母,举个例子,如:“esroucasjd/中文/dsakdokwoad/dddd”这个字符串匹配,而这种:“resroucasjd/中文/dsakdokwoad/dddd/”这个字符串不匹配
时间: 2024-01-02 21:02:00 浏览: 93
你可以使用以下的Java正则表达式来满足你的要求:
```java
String regex = "[\\p{L}\\p{N}]+(/[\\p{L}\\p{N}]+)+";
```
这个正则表达式的含义是:首先匹配一个或多个字母、数字或中文字符([\\p{L}\\p{N}]+),后跟一个或多个以下形式的模式:斜杠(/)后跟一个或多个字母、数字或中文字符([\\p{L}\\p{N}]+)。这样的模式可以重复出现一次或多次((/[\\p{L}\\p{N}]+)+)。
你可以使用Java的Pattern和Matcher类来进行匹配,例如:
```java
String input = "esroucasjd/中文/dsakdokwoad/dddd";
Pattern pattern = Pattern.compile("[\\p{L}\\p{N}]+(/[\\p{L}\\p{N}]+)+");
Matcher matcher = pattern.matcher(input);
if (matcher.matches()) {
System.out.println("字符串匹配成功!");
} else {
System.out.println("字符串匹配失败!");
}
```
以上代码将会输出 "字符串匹配成功!" 如果给定的字符串符合要求,如 "esroucasjd/中文/dsakdokwoad/dddd",否则输出 "字符串匹配失败!"。
注意,在这个正则表达式中,我们使用了 Unicode 属性的简写形式,\p{L} 匹配任何字母字符,\p{N} 匹配任何数字字符。这样可以确保中文字符也被正确匹配。
阅读全文