草庐IT

regex-greedy

全部标签

java - 如何在 Java 中使用 REGEX 解析字符串中的浮点值

我想从中解析浮点值CallCost:Rs.13.04Duration:00:00:02Bal:Rs.14.672016meinPromotion从上面的字符串我需要13.04和14.67。我使用了以下正则表达式Patternp=Pattern.compile("\\d*\\.\\d+");Matcherm=p.matcher(s);while(m.find()){System.out.println(">>"+m.group());}但是使用这个我得到“.13”、“.04”、“.14”、“.67”提前致谢 最佳答案 使用\\d+代替

匹配Java Regex表达式中的字符串

我想使用字符串类的“匹配”方法。我不想创建模式和匹配对象并使用matcher.find()匹配我正在使用的特定字符串。这是我的代码:Stringstring="-12Log";if(string.matches("-?\\d+(\\.\\d*)?[Log]")System.out.println("dinos");我使用了不同类型的Regexes,没有成功。我使用了以下内容:-?\\d+(\\.\\d*)?\\[Log]-?\\d+(\\.\\d*)?[+a-zA-Z]-?\\d+(\\.\\d*)?+[a-zA-Z]请注意,我不想将字符串分解为其字符。我想按原样使用字符串。任何想法,将不胜感

如何在app.yaml中使用Regex处理虚拟子目录?

我想将所有访问者都指向“单个子目录”,并将所有访问者都介绍给另一页。例如:/foo//new//north//1-j4/所有人都指向1.app,而/foo/bar//new/york//north/west//1-j4/a_990/所有人都指向2.App。我认为我可以使用非怪兽的正则匹配来做到这一点,就像这样:-url:/(.*?)/$script:1.app-url:/(.*?)/(.*?)/$script:2.app令我困惑的是,/foo/and/foo/bar/bar/bar/bar/bar/bar/bar/bar/bar/bar/bar/bar/bar/bar/app。“懒惰”的正则迫

C#REGEX使用可变性

我最熟悉PowerShell,最近已进入使用C#作为我的主要语言。在Powershell中,可以做以下$var1="abc""abc"-match"$var1"这导致了一个真实的声明。我希望能够在C#中做同样的事情。我知道您可以使用C#使用插值,并且我尝试了各种尝试使用Regex.Match()而没有运气的方法。例子:stringtoMatch="abc";varresult=Regex.Match("abc",$"{{toMatch}}");vara=Regex.Match("abc",$"{{{toMatch}}}");varb=Regex.Match("abc",$"{toMatch}"

新程序员,我需要哈佛CS50的Greedy.c上的帮助

我刚刚开始编程,所以我知道这可能是一个非常基本的错误,但是我一直在试图找出如何在哈佛大学的CS50课程中为贪婪分配的代码中解决逻辑错误,而无需成功。我已经查找了问题的解决方案,但是它们似乎都以与我尝试的方式不同。我已经对其他示例进行了反向设计,现在我了解它们,但是我真的很想知道如何使自己的版本运行良好。我试图通过一系列的循环来解决问题,每个循环中的每一个都从欠款中减去一定的硬币值,并将一枚硬币添加到总硬币计数中。对我来说,从逻辑上讲,这似乎是有道理的,但是当我运行程序时,它并不能为我提供预期的输出。它只是没有在底部执行printf语句。我希望你们中的一个人能为此提供帮助!谢谢你的帮助!这是我的

贪心算法(greedy algorithm,又称贪婪算法)详解(附例题)

目录一)概念二)找出全局最优解的要求三)求解时应考虑的问题四)基本步骤五)贪心策略选择六)实际应用1.零钱找回问题2.背包问题3.哈夫曼编码4.单源路径中的Djikstra算法5.最小生成树Prim算法一)概念贪心算法(GreedyAlogorithm)又叫登山算法,它的根本思想是逐步到达山顶,即逐步获得最优解,是解决最优化问题时的一种简单但是适用范围有限的策略。贪心算法没有固定的框架,算法设计的关键是贪婪策略的选择。贪心策略要无后向性,也就是说某状态以后的过程不会影响以前的状态,至于当前状态有关。贪心算法是对某些求解最优解问题的最简单、最迅速的技术。某些问题的最优解可以通过一系列的最优的选择

c++ - 这是 clang c++11 std::regex_match 的一个特性还是一个错误?

我注意到如果第一个模式是第二个模式的开始部分(在clang3.5和clang3.8上测试),则包含两个带OR条件的模式的正则表达式不匹配示例字符串:std::regex_match("ab",std::regex("(ab|a)"))==true但是std::regex_match("ab",std::regex("(a|ab)"))==false我认为true在这两种情况下在逻辑上都是正确的。Clang和OSX:$cat>test.cpp#include#include#includeintmain(){std::coutClang和FreeBSD:$cat>test.cpp#inc

使用 -O1 编译时 C++ regex_search 中断

这个问题在这里已经有了答案:Inconsistentbehaviorofstd::regex(1个回答)关闭3年前。示例代码:#include#include#includeintmain(){std::regexnpat(R"(^(\d+))");std::smatchm;std::regex_search(std::string("10"),m,npat);std::cout编译时g++-std=c++11main.cpp输出是2m.str(1):|10|10这是预期的。但是,当用编译时g++-std=c++11-O1main.cpp输出变成libc++abi.dylib:term

c++ - 没有匹配函数调用 ‘regex_search(...)'

给定一个旧式constchar*指针和一个长度,有没有一种方法可以调用std::regex_search()而无需先复制其内容缓冲区到std::string?这是我遇到的问题的一个简单示例:#includeintmain(){constchar*text="123foobar456";constsize_tlen=strlen(text);conststd::regexrx("(.+)bar");std::smatchwhat;std::regex_search(text,text+len,what,rx);//我认为需要两个迭代器的第5个std::regex_search()是我需要

c++ - 正则表达式无法按预期使用 C++ regex_match

我正在研究c++11中的正则表达式,这个正则表达式搜索返回false。有人知道我在这里做错了什么吗?.我知道.*代表除换行符之外的任意数量的字符。所以我期待regex_match()返回true并且输出被“找到”。然而,输出结果是“未找到”。#include#includeusingnamespacestd;intmain(){boolfound=regex_match("",regex("h.*l"));//worksfor""cout 最佳答案 您需要使用regex_search而不是regex_match:boolfound=