问题标签 [boost-regex]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
173 浏览

c++ - Boost regexp - 搜索结果的空终止

结果:“找到 123 个世界”。我只想要“123”。这是空终止的问题,还是只是误解了 regex_search 的工作原理?

0 投票
4 回答
18674 浏览

c++ - 致命错误 LNK1104:无法打开文件“libboost_regex-vc90-mt-gd-1_42.lib”

我正在尝试在我的程序中使用 boost regex 问题是我收到此错误...我所做的唯一安装步骤是将:“C:\Program Files\boost\boost_1_42”添加到附加包含目录中...

我正在使用VS2008 ...

试图实现这一点:

似乎是什么问题?应该进行任何其他设置吗?

0 投票
3 回答
9882 浏览

c++ - 提升正则表达式和令人困惑的错误

我正在尝试使用 Boost 正则表达式来查看其中是否包含整数。

此页面上的示例之一是

这里还有一个大概可行的例子。

但是当我在我的机器上尝试它时,我得到了五页不可读的错误。这是怎么回事?

$g++ test.cpp 的错误。有没有一些理智的方法来了解这里发生了什么?

编辑:我认为 boost 都是模板化的,只需要包含在内。我已经尝试基于此使用“g++ test.cpp -L/usr/lib -llibboost_regex-mt”进行编译:

但我得到“/usr/bin/ld: 找不到 -llibboost_regex-mt”

0 投票
2 回答
1726 浏览

c++ - 获取名称子组

我正在使用新版本的 boost 1.42,我想使用带有命名子组的正则表达式。下面举个例子。

你知道如何获取比赛的内容吗?传统的方式是

不想用这种方式。

我想在 Perl 和一般的正则表达式中像往常一样使用子组的名称。我试过这个,但它没有用。

您知道如何使用子组的名称获取值吗?

谢谢AFG

0 投票
2 回答
862 浏览

c++ - 如何将 Perl 正则表达式转换为与 Boost::Regex 一起使用?

ing对于以ored或结尾的单词,这个 Perl 正则表达式的 Boost::Regex 等效项是en什么?

/ing$|ed$|en$/

...

0 投票
2 回答
147 浏览

regex - 正则表达式量词问题

我试图找到一个匹配这种 URL 的正则表达式:

http://sub.domain.com/selector/F/13/K/100546/sampletext/654654/K/sampletext_sampletext.html

并且不匹配这个:

http://sub.domain.com/selector/F/13/K/10546/sampletext/5987/K/sample/K/101/sample_text.html

仅当 /K/ 的数量最小为 1 且最大为 2 时(带有像 {1,2} 这样的量词的东西)

直到此刻我有以下正则表达式:

现在我需要一只手来添加任何类型的条件,例如:

如果在文本中最多出现 1 到 2 次 /K/,则匹配此选项。

提前致谢。

最好的祝福。

何塞马

0 投票
1 回答
1088 浏览

c++ - boost::find_format_all、boost::regex_finder 和自定义正则表达式格式化程序的问题(bug boost 1.42)

我的代码已经工作了近 4 年(自 boost 1.33 以来),今天我从 boost 1.36 升级到 boost 1.42,现在我遇到了问题。

我在字符串上调用自定义格式化程序来格式化与 REGEX 匹配的字符串部分。

例如,如果 REGEX 包含 "([;:])",则类似 "abc;def:" 的字符串将更改为 "abc\2Cdef\3B"

自定义格式化程序如下所示:

这工作得很好,但是对于 boost 1.42,我知道有“未初始化” s.match_results() 会产生 boost::exception_detail::clone_implINS0_::error_info_injectorISt11logic_errorEEEE - 尝试访问未初始化的 boost::match_results<> 类。

这意味着有时我在仿函数中格式化字符串但没有匹配。

难道我做错了什么?或者当没有匹配时输入仿函数是否正常,我应该检查一些东西?

目前我的解决方案是尝试{}catch(){} 异常,一切正常,但不知何故感觉不太好。

编辑1

实际上我在每个字符串的末尾都有一个新的空匹配来解析。

EDIT2:一种受 ablaeul 启发的解决方案

EDIT3 似乎是(至少)提升 1.42 中的一个错误

0 投票
1 回答
169 浏览

c++ - How do I insert format str and don't remove the matched regular expression in input string in boost::regex_replace() in C++?

I want to put space between punctuations and other words in a sentence. But boost::regex_replace() replaces the punctuation with space, and I want to keep a punctuation in the sentence! for example in this code the output should be "Hello . hi , "

Can you help me?

0 投票
2 回答
1875 浏览

javascript - 删除正则表达式中不必要的括号

假设我有(在 javascript 正则表达式中)

当然,这真的读

有没有一种算法可以消除这样的字符串中不必要的括号?

0 投票
4 回答
13711 浏览

c++ - 如何在 C++ 中使用 Boost::regex.hpp 库?

我尝试使用 Boost 库但失败了,请参阅我的代码:

当我尝试编译它时,我收到了这些消息:

/usr/include/boost/regex/v4/regex_match.hpp:50: 未定义引用`boost::re_detail::perl_matcher<__gnu_cxx::__normal_iterator, std::allocator >>, std::allocator, std::allocator > > > >, boost::regex_traits >

::匹配()'

/usr/include/boost/regex/v4/basic_regex.hpp:425: 未定义对`boost::basic_regex > 的引用

::do_assign(char const*, char const*, unsigned int)'

/usr/include/boost/regex/v4/perl_matcher.hpp:366: 未定义引用`boost::re_detail::perl_matcher<__gnu_cxx::__normal_iterator, std::allocator >>, std::allocator, std::allocator > > > >, boost::regex_traits >

::construct_init(boost::basic_regex > > const&, boost::regex_constants::_match_flags)'

ETC...