草庐IT

regex_replace

全部标签

java - ConcurrentHashMap.put V.S. ConcurrentHashMap.replace

从Javadoc我知道ConcurrentHashMap.replace是原子的,但是ConcurrentHashMap.put呢?我看到它们在源代码中的实现方式不同,但我无法弄清楚它们的区别。任何大师都可以提供一些有关如何使用这两种方法的指南吗? 最佳答案 它们在功能上是不同的。replace仅在指定键下已存储值时才存储键值对。replace的API文档是这样解释的:Replacestheentryforakeyonlyifcurrentlymappedtosomevalue.Thisisequivalenttoif(map.co

Java Regex 在定界符和保留定界符之间拆分字符串

这个问题在这里已经有了答案:Howtosplitastring,butalsokeepthedelimiters?(24个答案)关闭5年前。我有一个看起来像这样的java字符串;(fname:jon)(lname:doe)(guaranteer:Sam(W)Willis)(age:35)(addr:1TurnpikePlaza)(favcolor:blue)我想从分隔符(fname:jon)(lname:doe)中拆分这个字符串.我尝试通过正则表达式拆分\)\(但它只是破坏了我的代码arr=s.split("\\)\\(");for(Stringa:arr)System.out.pri

Java Regex 删除开始/结束单引号但保留内引号

我有来自单引号括起来的CSV文件的数据,例如:'Companyname''Price:$43.50''NewYork,NewYork'我希望能够替换值开头/结尾的单引号,但在数据中保留引号,例如:'Joe'sDiner'shouldbecomeJoe'sDiner我可以updateString=theString.replace("^'","").replace("'$","");但我想知道我是否可以将它组合起来只进行一次替换。 最佳答案 您可以使用或运算符。updateString=theString.replaceAll("(^

java - 正则表达式疯狂 : java. util.regex.Pattern 匹配器进入高 CPU 循环

注意:我看过这个question,但还没有人回答,所以帮助不大。奇怪的是,被标记为“可能重复”的问题已被删除(我第一次看到。)我们在使用Pattern进行正则表达式验证时遇到问题。这些都没有发生在我们的代码中,整个事情都发生在SpringFramework和Hibernate的验证中。(Spring3.2.1,Spring3.1.1,Hibernate验证4.2.0)此调用尝试使用@Valid注释验证SpringFramework@ModelAttribute注释:@RequestMapping("/foo/bar")publicStringdoFooBar(@Valid@ModelA

java - RegEx检查数字中的数字是否全部相同或顺序

我想检查用户是否在服务器端输入。如果用户输入具有相同数字的数字111111或22222,以及输入是否按顺序排列,例如12345或456789。 最佳答案 匹配连续的相同数字:^([0-9])\1*$请注意,将反斜杠放入java字符串文字中时,必须将其转义,例如,"^([0-9])\\1*$"对于第二个,您必须使用|运算符明确地列出连续数字。如果有多达10个嵌套的括号,则正则表达式会非常长且令人讨厌。必须使用程序生成此正则表达式。换句话说,这是使用正则表达式解决的错误问题。编写一个循环并对其进行测试会简单得多。

java - 如何使用 REGEX 匹配制表符和换行符而不匹配空格?

我正在尝试使用Java中的REGEX匹配“制表符”和“换行符”元字符但没有“空格”。\s匹配所有内容,即制表符、空格和换行符...但是,我不希望匹配“空格”。我该怎么做?谢谢。 最佳答案 一种方法是:[^\\S]否定字符类使此正则表达式匹配除-\\S(非空白)和""(空格)字符之外的任何字符。因此,它将匹配\\s除了空格。 关于java-如何使用REGEX匹配制表符和换行符而不匹配空格?,我们在StackOverflow上找到一个类似的问题: https://

REGEX-检查URL没有扩展名

我需要无需扩展的URL才能在我的代码中执行一些逻辑。URL:https://stackoverflow.com/questions/askURL:https://stackoverflow.com/questions/ask.gif我尝试了以下操作,并且可以在上次斜杠之后匹配该值。/[^\/]*$/https://stackoverflow.com/questions/问https://stackoverflow.com/questions/ask.gif在上次斜杠后如何检查URL值的延长或不正则表达式?看答案[^\/.]*(\.\w+)?$检查第一组。REGEX101演示

Java : Splitting a String using Regex

我必须使用逗号(,)作为分隔符来拆分字符串并忽略引号(")内的任何逗号字段分隔符:,字段分组器:“要拆分的字符串是:"1","2",3,"4,5"我可以按如下方式实现它:Stringrecord="\"1\",\"2\",3,\"4,5\"";String[]tokens=record.split(",(?=([^\"]*\"[^\"]*\")*[^\"]*$)");输出:"1""2"3"4,5"现在的挑战是fieldGrouper(")不应该是分割标记的一部分。我无法为此找出正则表达式。拆分的预期输出是:1234,5 最佳答案 更

java - regex{m,n} 和 (regex){m,n} 有什么区别?

我正在开发一个docker项目,需要编写一个正则表达式来检查存储库名称。要求如下:只包含ASCII字符,不包含大写字母。除点(.)、连字符(-)和下划线(_)外的特殊字符除外。只以字母和数字开头,也以字母和数字结尾。特殊字符不能连续出现。长度限制(最小:2,最大:255)那么,我的正则表达式是:([a-z0-9]+(?:[._-][a-z0-9]+)*){2,255}但是,当存储库名称为e-e_1.1时,它就不行了当我将其更改为:[a-z0-9]+(?:[._-][a-z0-9]+)*{2,255}没关系。有没有人可以解释一下?提前谢谢你。 最佳答案

java - 在Eclipse调试器中,怎样修改 "hot code replaced"可以进入运行的JVM?

在Eclipse中,如果您在“调试”下运行一个程序,您可以对代码进行更改,大多数时候它会立即生效。但有时它不会——在这种情况下,它会弹出一条消息,或者在“调试”Pane中的线程旁边显示“(可能不同步)”。什么决定了可以热插拔的更改类型?我注意到这些更改通常会失败:引入新的匿名内部类在实例化类时更改类(重命名/添加/删除字段和方法)添加try-catchblock但有时它似乎几乎是随机的。判断代码是否可以替换的逻辑是什么? 最佳答案 方法语句(过程代码)有效。与添加、删除或更改类模式相关的所有内容都不起作用。因此无需修改继承、字段、提