- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个巨大的日语例句文件。它的设置使得一行是句子,然后下一行由句子中使用的单词组成,用 {}、() 和 [] 分隔。基本上,我想从文件中读取一行,只找到 () 中的单词,将它们存储在一个单独的文件中,然后从字符串中删除它们。
我正在尝试使用正则表达式来执行此操作。这是我正在处理的文本:
は 二十歳(はたち){20歳} になる[01]{になりました}
这是我用来查找 () 之间内容的代码:
std::smatch m;
std::regex e ("\(([^)]+)\)"); // matches things between ( and )
if (std::regex_search (components,m,e)) {
printToTest(m[0].str(), "what we got"); //Prints to a test file "what we got: " << m[0].str()
components = m.prefix().str().append(m.suffix().str());
//commponents is a string
printToTest(components, "[COMP_AFTER_REMOVAL]");
//Prints to test file "[COMP_AFTER_REMOVAL]: " << components
}
这是应该打印的内容:
what we got:はたち
[COMP_AFTER_REMOVAL]:は 二十歳(){20歳} になる[01]{になりました}
这是打印的内容:
what we got:は 二十歳(はたち
[COMP_AFTER_REMOVAL]:){20歳} になる[01]{になりました}
似乎不知何故 ha 被混淆为 (,这使得正则表达式从 ha 变为 )。我认为这是从文件中读入该行的方式的问题。也许它没有以某种方式被读取为 utf8。这是我的做法:
xml_document finalDoc;
string sentence;
string components;
ifstream infile;
infile.open("examples.utf");
unsigned int line = 0;
string linePos;
bool eof = infile.eof();
while (!eof && line < 1){
getline(infile, sentence);
getline(infile, components);
MakeSentences(sentence, components, finalDoc);
line++;
}
有什么问题吗?有小费吗?需要更多代码?请帮忙。谢谢。
最佳答案
你忘了转义你的反斜杠。编译器看到 "\(([^)]+)\)"
并将其解释为 (([^)]+))
这不是您想要的正则表达式.
您需要输入 "\\(([^)]+)\\)"
关于c++ - 为什么正则表达式在 C++ 的日语字符串中找不到 "("?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28093682/
例如,我有一个父类Author: class Author { String name static hasMany = [ fiction: Book,
代码如下: dojo.query(subNav.navClass).forEach(function(node, index, arr){ if(dojo.style(node, 'd
我有一个带有 Id 和姓名的学生表和一个带有 Id 和 friend Id 的 Friends 表。我想加入这两个表并找到学生的 friend 。 例如,Ashley 的 friend 是 Saman
我通过互联网浏览,但仍未找到问题的答案。应该很容易: class Parent { String name Child child } 当我有一个 child 对象时,如何获得它的 paren
我正在尝试创建一个以 Firebase 作为我的后端的社交应用。现在我正面临如何(在哪里?)找到 friend 功能的问题。 我有每个用户的邮件地址。 我可以访问用户的电话也预订。 在传统的后端中,我
我主要想澄清以下几点: 1。有人告诉我,在 iOS 5 及以下版本中,如果您使用 Game Center 设置多人游戏,则“查找 Facebook 好友”(如与好友争夺战)的功能不是内置的,因此您需要
关于redis docker镜像ENTRYPOINT脚本 docker-entrypoint.sh : #!/bin/sh set -e # first arg is `-f` or `--some-
我是一名优秀的程序员,十分优秀!