
Java-正斜杠转义符
谁能告诉我在Java中如何使用正斜杠转义字符。我知道反斜杠是\ \,但是我尝试了\ /和/ /却没有运气!这是我的代码:public boolean checkDate(String dateToCheck) { if(dateToCheck.matches("[0-9][0-9]\ /[0-9][0-9]\ /[0-9][0-9][0-9][0-9]")) { return true; } // end if. return false;} // end method....
2024-01-10
Java给定最终块未正确填充
我正在尝试实现基于密码的加密算法,但出现此异常:javax.crypto.BadPaddingException:给定的最终块未正确填充可能是什么问题?这是我的代码:public class PasswordCrypter { private Key key; public PasswordCrypter(String password) { try{ KeyGenerator generator; generator = KeyGen...
2024-01-10
在Java正则表达式中获取组名
我正在尝试同时接收模式和字符串,并返回组名的映射->匹配结果。例:(?<user>.*)我想返回一个包含“ user”作为键及其匹配值的映射。问题是我似乎无法从Java regexapi获取组名。我只能按名称或按索引获取匹配的值。我没有组名列表,Pattern和Matcher似乎都没有公开此信息。我检查了它的来源,似乎信...
2024-01-10
Java:如何从正则表达式解析双精度
我有一个看起来像“ A = 1.23; B = 2.345; C = 3.567”的字符串我只对“ C = 3.567”感兴趣到目前为止,我有: Matcher m = Pattern.compile("C=\\d+.\\d+").matcher("A=1.23;B=2.345;C=3.567"); while(m.find()){ double d = Double.parseDouble(m.group()); System.out.println(d); ...
2024-01-10
在java中使用正则表达式在html中查找每个表格元素
我有一个html作为字符串。我想用正则表达式找到每个表格元素(开关标签)。我尝试了<table(.*?)>.*</table>模式。但它不起作用,因为它匹配第一个表格打开标签和最后一个表格关闭标签之间的东西。在java中使用正则表达式在html中查找每个表格元素这里是我的代码:Pattern pattern = Pattern.compile("<table(.*?)>....
2024-01-10
Java正则表达式在大括号之间获取数据
我正在寻找一个正则表达式来匹配大括号之间的文本。{one}{two}{three}我希望将它们分别作为单独的组one two three。我试过Pattern.compile("\\{.*?\\}");只删除第一个和最后一个大括号。回答:您需要( )围绕要捕获的内容使用捕获组。只是为了匹配并捕获大括号之间的内容。String s = "{one}{two}{three}";Pattern p = ...
2024-01-10
Java正则表达式从字符串中删除除数字以外的所有内容
我有两个弦 string1 = 44.365 Online order 和string2 = 0 RequestDelivery。现在,我想对这些字符串应用一个正则表达式,以过滤掉除数字以外的所有内容,以便获得像string1 =44365和这样的整数string2 = 0。我该怎么做?回答:您可以使用^。它会考虑您所拥有的一切之外的一切。因此,如果[^y]要过滤除y以外的所有...
2024-01-10
Java组数可变的正则表达式?
是否可以创建具有可变数量的组的正则表达式?例如运行此之后…Pattern p = Pattern.compile("ab([cd])*ef");Matcher m = p.matcher("abcddcef");m.matches();…我想要一些类似的东西m.group(1) = “c”m.group(2) = “d”m.group(3) = “d”m.group(4)= “c”。(背景:我正在解析一些数据行,“字段”之一正在重复。我想避免matche...
2024-01-10
正则表达式在Java中的命名组
据我了解,该java.regex软件包不支持命名组(http://www.regular-expressions.info/named.html),所以有人可以将我指向具有此名称的第三方库吗?我看过jregex,但是它的最新版本是2002年,它在java5下对我不起作用(承认我只是短暂地尝试过)。回答:每个名称只能具有一个命名组(你并不总是可以控制!),并...
2024-01-10
Java正则表达式捕获组
我试图理解此代码块。在第一个中,我们在表达式中寻找什么?我的理解是,它是任意字符(0或多次),后跟0到9之间的任意数字(1或多次+),后跟任意字符(0或多次)。执行此操作时,结果为:Found value: This order was placed for QT3000! OK?Found value: This order was placed for QT300Found value: 0有人可以和我一起...
2024-01-10
Java-匹配反斜杠和引号的正则表达式
如何编写一个正则表达式来匹配它\"(反斜杠然后是引号)?假设我有一个像这样的字符串:<a href=\"google.com\"> click to search </a>我需要将所有替换\"为",因此结果如下所示:<a href="google.com"> click to search </a>这是行不通的:str.replaceAll("\\\"","\"")因为它只匹配引号。不确定如何使用反斜杠。我本可以先...
2024-01-10
Java正则表达式中的零长度匹配
我的代码:Pattern pattern = Pattern.compile("a?");Matcher matcher = pattern.matcher("ababa");while(matcher.find()){ System.out.println(matcher.start()+"["+matcher.group()+"]"+matcher.end());}输出:0[a]11[]12[a]33[]34[a]55[]5我知道的 :“一个?” 代表零个或一次出现的字符“ a”。Java API说...
2024-01-10
Java获得正则表达式匹配后的文本
我是使用Regex的新手,我已经看过很多教程,但没有找到适合我想要做的事情的教程,我想搜索某些内容,但返回其后的所有内容,而不是搜索字符串本身例如“ 一些很棒的la脚的句子 ”搜索“ 句子 ”返回“ 真棒 ”任何帮助将非常感激到目前为止,这是我的正则表达式sentence(.*) 但它返回:很...
2024-01-10
Java正则表达式替换为捕获组
有什么方法可以用捕获组的已修改内容替换正则表达式?例:Pattern regex = Pattern.compile("(\\d{1,2})");Matcher regexMatcher = regex.matcher(text);resultString = regexMatcher.replaceAll("$1"); // *3 ??我想用$ 1乘以3代替所有出现的情况。编辑:看起来好像出了点问题:(如果我用Pattern regex = Pattern.compile("(\\d{1,2})");Ma...
2024-01-10
Java正则表达式:性能和替代
最近,我不得不搜索许多字符串值,以查看哪个字符串与某种模式匹配。在用户输入搜索词之前,字符串值的数量和模式本身都不清楚。问题是,我的应用程序每次运行以下行时,我都已注意到: if (stringValue.matches (rexExPattern)) { // do something so simple }大约需要40微秒。不用说,当字符串值...
2024-01-10
Java字符串-是否获取(但不包括)两个正则表达式之间的所有内容?
在Java中,是否有一种简单的方法可以通过在两侧指定正则表达式定界符而不在最终的子字符串中包含定界符来提取子字符串?例如,如果我有这样的字符串:<row><column>Header text</column></row>提取子字符串的最简单方法是什么:Header text请注意,子字符串可能包含换行符…谢谢!回答:编写这样的正...
2024-01-10
Java中电子邮件验证的正则表达式
我正在使用以下正则表达式(".+@.+\\.[a-z]+")它接受#@#.com作为有效电子邮件。我应该使用什么模式?回答:您应该使用apache-commons电子邮件验证程序。您可以从此处获取jar文件。这是一个简单的用法示例:import org.apache.commons.validator.routines.EmailValidator;boolean isValidEmail = EmailValidator.getInstance().isValid(emailA...
2024-01-10
正则表达式在Java字符串中查找特定单词
我需要有关正则表达式的帮助:我正在尝试检查一个句子是否包含特定单词。让我们以这个主题的标题为例:“正则表达式以查找字符串中的特定单词”我需要查找它是否包含 ,在这种情况下它是错误的。我无法使用包含的方法,因为在这种情况下它将返回true( 如果为 * ic, 则为 spec * )我当时...
2024-01-10
Java正则表达式:检查单词是否包含非字母数字字符
这是我的代码,以确定一个单词是否包含任何非字母数字字符: String term = "Hello-World"; boolean found = false; Pattern p = Pattern.Compile("\\W*"); Matcher m = p.Matcher(term); if(matcher.find()) found = true;我想知道正则表达式是否错误。我知道"\W"会匹配任何非单词字符。关于我所缺少的任何想法?回答:将您的正...
2024-01-10
Java正则表达式是否为负数?
我有这种模式:Pattern.compile("T([0-9]*)");这对于正数很好用,但是我也需要它做负数,例如“ T-1T3T44”应该工作。或者也许使用空格而不是’T’,所以它应适用于这样的字符串:“-1 2 3 2-1 6 2”。抱歉,我以前没有真正使用过正则表达式。有什么建议吗?谢谢。回答:您是否想过尝试:"T(-?[0-9]+)"您...
2024-01-10
Java表达式语言如何解析布尔属性?(在JSF 1.2中)
因此,我们都知道,这#{someBean.value}将尝试获取someBean被称为的某些属性的内容value。它将寻找getValue()。但是,如果此属性是boolean?它将寻找isValue()。它不会寻找的是hasValue()。这让我开始思考,它到底在做什么?Java EE5教程章节-引用统一表达语言PageContext.FindAttribute()。PageContext将您送至JSPContext。他们...
2024-01-10
未公开的Java正则表达式字符类:\ p {C}
我在Java项目中发现了一个有趣的正则表达式: "[\\p{C}&&\\S]"我知道方法的&&意思是“设置交集”,并且\S是“非空白”,但是 该java.util.regex.Pattern中的文件没有提到它。列表上唯一类似的类是\p{Cntrl},但是它们的行为有所不同:它们都在控制字符上\p{C}匹配,但在U+ FFFF以上的Unicode字符上匹配 两次 ,例...
2024-01-10
Java\ w和\ b正则表达式元字符之间的区别
谁能解释\b和\w正则表达式元字符之间的区别?据我了解,这两个元字符都用于单词边界。除此之外,哪个元字符对于多语言内容有效?回答:元字符\b是锚号,例如插入号和美元符号。它在称为“单词边界”的位置匹配。此匹配为零长度。有三个不同的位置可作为单词边界:如果字符串中的第一个...
2024-01-10
Java 创建正则表达式匹配数组
在Java中,我试图将所有正则表达式匹配项返回到数组,但是似乎您只能检查模式是否匹配某些内容(布尔值)。如何使用正则表达式匹配在给定字符串中形成所有与正则表达式匹配的字符串数组?回答:(如果你可以假设Java> = 9,则4castle的答案比下面的要好)你需要创建一个匹配器,并使用它来迭...
2024-01-10
Java 正则表达式用于匹配某些内容(如果没有其他内容)
因此,对于Java中的正则表达式,我想编写一个正则表达式,当且仅当模式前面没有某些字符时才匹配。例如:String s = "foobar barbar beachbar crowbar bar ";如果bar不以foo开头,我想匹配。因此输出为:barbarbeachbarcrowbarbar我知道这可能是一个非常简单的问题。我正在尝试学习正则表达式,但与此同时我现...
2024-01-10
Java 用于在不被单引号或双引号包围时使用空格拆分字符串的正则表达式
我是正则表达式的新手,非常感谢您的帮助。我正在尝试将一个表达式合并在一起,以使用不被单引号或双引号引起来的所有空格拆分示例字符串。我的最后一次尝试看起来像这样:(?!”)并且效果不佳。它在报价前的空格处分开。输入示例:This is a string that "will be" highlighted when your 'regular expression' matc...
2024-01-10
如何在Java正则表达式中表达“:”,但不能以“ \”开头?
如何在Java正则表达式中表示“无前缀”?例如,我只想搜索“:”,但仅在它不直接以“ \”开头时。我怎样才能做到这一点?回答:在后面使用负数:"(?<!\\\\):"四个反斜杠的原因是:反斜杠是正则表达式中的特殊字符,因此您需要正则表达式\\来匹配单个反斜杠。必须在Java字符串中对反斜杠进...
2024-01-10
Java 如何解析以字符串形式给出的数学表达式并返回数字?
Java中有没有一种方法可以从以下数学表达式获得结果:String code = "5+4*(7-15)";另一方面,解析算术表达式的最佳方法是什么?回答:你可以将其传递给BeanShell bsh.Interpreter,如下所示:Interpreter interpreter = new Interpreter();interpreter.eval("result = 5+4*(7-15)");System.out.println(interpreter.get("result"));你将要确保评估...
2024-01-10
Java我们如何将a ^ nb ^ n与Java正则表达式匹配?
原型非常规语言之一是:L = { an bn: n > 0 }这是所有非空字符串的语言,其中包括一定数量的,a后跟相等数量b的。在这个语言字符串的例子有ab,aabb,aaabbb。泵激引理可以证明这种语言是不规则的。实际上,它是原型上下文无关的语言,可以由上下文无关的语法 生成S → aSb | ab。尽管如此,现代正则...
2024-01-10
Java lambda表达式每次执行时是否在堆上创建一个对象?
当我使用Java 8的新语法糖遍历集合时,例如myStream.forEach(item -> { // do something useful});这不等同于下面的“旧语法”代码段吗?myStream.forEach(new Consumer<Item>() { @Override public void accept(Item item) { // do something useful }});这是否意味着Consumer每次迭代集合时都会在堆上创建一个新的匿名对象?这需要多...
2024-01-10
