Tag: regex

IntelliJ结构搜索和替换问题

有没有一种简单的方法来捕捉类型? 我似乎无法做基本的事情,比如并用变量表达式,比如$mapType$$mapEnd$做一个简单的替换。 这可能有什么原因吗? 也就是说,如果我有一个表达式,比如.*\s*.*abc ,我把它分成两个变量, .*\s*和.*abc ,表达式与任何文本都不匹配。 怎么可能出错? Example template: $var1$ = $impl$ Example second template: $var1$ = $type$$implEnd$ 如果$impl$是一个完整的正则表达式,将$type$和$implEnd$与一半匹配的正则表达式放在一起会导致模式不匹配。 怎么可能出错? 我正在尝试进行这种转变: List list = new ArrayList(); List list = Lists.newArrayList(); 显然,我需要以某种方式捕获“数组”,以及只有那些没有参数的类型。

Java正则表达式的后视组没有明显的最大长度

我要: 当我得到一个大字符串时,我需要使用Java中的正则表达式在其中查找内容,以使用以下公式分隔: 如果一行(在\ n之后)有超过1000个字符,请检查第1000个字符是否包含在奇数’ 。 然后添加一个连续字符串’\ n ||’ 在1000到1001个字符之间 如果1000和1001个字符是”(plsql的转义字符),则将其插入1001和1002之间 无论如何,我做了这个正则表达式: “\n(?[^\n]{1000})(?<=(?\n)(?[^’\n]{0,1001}|[^\n’]{0,1001}'[^\n’]{0,1001}'[^\n’]{0,1001}){0,1001}(?’)(?[^\n’]{0,1001}))(?(?<=')(?!'))" 让我解释一下: “\n(?[^\n]{1000}) –> Newline and 1000 characters (? Let’s look behind to check if we have an odd number of ‘ (?\n) –> Start from new line (? –> All pairs of ‘ [^’\n]{0,1001} –> Eighter 0 ‘ | –> or [^\n’]{0,1001}'[^\n’]{0,1001}'[^\n’]{0,1001}){0,1001} –> […]

Jmeter – beanshell中的正则表达式(matcher()/ pattern())正在削减国家字符

我需要从服务器响应数据中删除一些单词。 使用正则表达式提取器我得到 Działalność lecznicza. 从那我只需要:“Działalnośćleccnicza” 所以我在Beanshell写一个程序应该这样做,因为我得到了一个问题 “lecznicza lecznicza” 这是我的计划: import java.util.regex; import java.util.regex.Matcher; import java.util.regex.Pattern; String pattern = “\\w+(?=\\<)"; String co = vars.get("tresc"); int len = Integer.parseInt(vars.get("length")); String phrase=""; StringBuffer sb = new StringBuffer(); Pattern r = Pattern.compile(pattern); Matcher m = r.matcher(co); for(i=0; i < len ;i++){ if (m.find()){ strbuf = new StringBuffer(m.group(0)); } else […]

正则表达式提取由空格分隔的键值对,其值为空格

假设一个单行字符串具有多个连续的键值对,由空格分隔,但允许的值也在值内(不在键中),例如 key1=one two three key2=four key3=five six key4=seven eight nine ten 从上面正确提取键值对将产生以下映射: “key1”, “one two” “key2”, “four” “key3”, “five six” “key4”, “seven eight nine ten” 其中“keyX”可以是任何字符序列,不包括空格。 尝试一些简单的事情,比如 ([^=]+=[^=]+)+ 或类似的变化是不够的。 是否有正则表达式来完全处理这样的提取,没有任何进一步的字符串处理?

Java正则表达式带有积极面貌,背后是负面outlook

我试图从这种字符串中提取ou=persons,ou=(.*),dc=company,dc=org最后一个字符串后面紧跟一个逗号后面没有 (。*)。 在最后一种情况下,这应该给dc=company,dc=org 。 看看正则表达式,这看起来是一个积极的看法(前面)前面的负面看。 所以我已经实现了这个正则表达式: (?<=(,(?!.*\Q(.*)\E))).* ,但它返回,dc=company,dc=org和昏迷。 我想要没有昏迷的同样的事情。 我做错了什么?

Java正则表达式中的POSIX字符等价物

我想在Java中使用这样的正则表达式: [[=a=][=e=][=i=]] 。 但Java不支持POSIX类[=a=], [=e=] etc 。 我怎样才能做到这一点? 更确切地说,有没有办法不使用US-ASCII?

使用android vision Text OCR构建名片阅读器

我正在使用谷歌的Android移动视觉OCR文本构建一个Android应用程序,用于输入名片作为手机中的联系人。 到目前为止,我能够识别任何拉丁语生成的文本,并且能够在代码块上应用正则表达式 我所做的是我为五个变量名称,电子邮件,compnayname,网站,adrs,phnno创建了一个Contacts bean类。在正在生成的实时数据上应用正则表达式之后,我将过滤结果并将它们保存在bean类型的对象中class并将该对象传递给activity并提取存储在该对象中的数据并将其显示在我的文本视图中。 OCR图形类检测方法>>> List textComponents = text.getComponents(); for(final Text currentText : textComponents) { float left = translateX(currentText.getBoundingBox().left); float bottom = translateY(currentText.getBoundingBox().bottom); canvas.drawText(currentText.getValue(), left, bottom, sTextPaint); if (currentText != null && currentText.getValue() != null) { //stringList.add(currentText.getValue()); Log.e(“OCrGraphic”, “Text detected! ” + currentText.getValue()); if (isCompany== false && currentText.getValue().matches(“.[AZ].[^@$#/-!]+”)) { Log.e(“currentTextcompanyName”, currentText.getValue()); companyName = “”; companyName […]

用于接受有效主机名,IPv4或IPv6地址的Java正则表达式

任何人都有一个好的(最好是测试过的)正则表达式,只能使用有效的DNS主机名,IPv4或IPv6地址?

哪个是用于数字和字符串的正确正则表达式?

我正在尝试创建简单的IDE并基于我的JTextPane着色 字符串(“”) 评论(//和/ * * /) 关键词(公共,国际…) 数字(像69这样的整数和1.5之类的浮点数) 我为源代码着色的方法是覆盖StyledDocument中的insertString和removeString方法。 经过大量测试,我已经完成了评论和关键词。 Q1:至于我的Strings着色,我根据这个正则表达式为我的字符串着色: Pattern strings = Pattern.compile(“\”[^\”]*\””); Matcher matcherS = strings.matcher(text); while (matcherS.find()) { setCharacterAttributes(matcherS.start(), matcherS.end() – matcherS.start(), red, false); } 这种方法有99%的时间可以工作,除非我的字符串包含一个特定类型的字符串,其中有一个“\代码内部。这会弄乱我的整个颜色编码。任何人都可以更正我的正则表达式来修复我的错误吗? Q2:对于整数和十进制着色,基于此正则表达式检测数字: Pattern numbers = Pattern.compile(“\\d+”); Matcher matcherN = numbers.matcher(text); while (matcherN.find()) { setCharacterAttributes(matcherN.start(), matcherN.end() – matcherN.start(), magenta, false); } 通过使用正则表达式“\ d +”,我只处理整数而不是浮点数。 此外,作为另一个字符串的一部分的整数是匹配的,这不是我想要的IDE内部。 哪个是用于整数颜色编码的正确表达式? 以下是输出的屏幕截图: […]

懒惰(ungreedy)使用正则表达式匹配多个组

我想获取标签对之间的任何值的内容。 This is one block of text This is another one 我想出的正则表达式是 /(.*)/m 虽然,它似乎是贪婪的,并且在最后一个捕获括号内的所有内容。 我希望它尽可能地懒惰,以便每当它看到一个结束标记时,它会将其视为匹配组并重新开始。 如何编写正则表达式,以便我能够在给定方案中获得多个匹配? 我在下面的链接中包含了我所描述的示例 http://rubular.com/r/JW5M3rnqIE 注意:这不是XML,也不是基于任何现有的标准格式。 我不需要任何复杂的东西,比如一个带有一个很好的解析器的完整库。