Java正则表达式找到不在字符范围内的第一个字符

标签 java regex

在我的 SQL Server 中有一个 PATINDEX 函数。例如:

patindex('%[^A-Z,^a-z,^0-9,^\,^_]%', SqlInstanceName)

这将返回第一个不在 A-Z 中、不在 a-z 中、不在 0-9 中、NOT = '\'(反斜杠)和 NOT = '_' 的字符的 string 索引位置(下划线)。

我想在 Java 1.6/1.7 中使用 Regex 或使用任何内置的 Java 库方法来做同样的事情。

最佳答案

在 Java 中你可以这样做:

Pattern p = Pattern.compile("[^\\w\\\\]");
Matcher m = p.matcher(input); // input is your String 

if (m.find())
   System.out.println(m.start()); // start position of your match

关于Java正则表达式找到不在字符范围内的第一个字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30161720/

相关文章:

java - 我如何使用条件登录并将列表转换为 JSON 格式

java - 好奇 if 条件和异常

java - 关于 Hibernate 和 Informix 的问题

JavaFX 位置未设置错误消息

Python : Regex search on a file, 和下一行中的另一个正则表达式

java - 在 Mac 上初始化 SparkContext 时出错

regex - Bash shell - 从保存在字符串中的文件夹中提取目录名

c# - 我的正则表达式匹配整数有什么问题?

mysql - SUBSTRING 和 REGEX 的组合在 MySQL 中的另一个表上匹配多个值

java - 如何禁止 "."(点)作为正则表达式中的第一个字符