【问题标题】:In my string, there is a character that I cannot identify that seems to be a space (Regex)在我的字符串中,有一个我无法识别的字符似乎是一个空格(正则表达式)
【发布时间】:2011-09-29 16:16:00
【问题描述】:

我有一个需要使用正则表达式解析的字符串。 这个字符串是:

http://carto1.wallonie.be/documents/terrils/fiche_terril.idc?TERRIL_id=1 Crachet 7/12

我尝试做的是将url和评论分开,所以我尝试了:

(\S+)\s(.+) 但结果,我得到:

$1 = > http://carto1.wallonie.be/documents/terrils/fiche_terril.idc?TERRIL_id=1 Crachet

$2 = > 7/12

所以,第一个字符似乎不是空格!

我试图用'X'替换\s并得到了

http://carto1.wallonie.be/documents/terrils/fiche_terril.idc?TERRIL_id=1 CrachetX7/12

我肯定有一些奇怪的东西。

我尝试用“X”(\n、\t 等)替换每个字符,但找不到这个“类似空格”的内容

如何识别这个字符并拆分我的字符串?

编辑:

如果你想玩我的代码,这是 Yahoo!管道:http://pipes.yahoo.com/pipes/pipe.edit?_id=a732be6cf2b7cb92cec5f9ee6ebca756

根据Pipes documentation,看起来它使用了相当标准的正则表达式语法。

一些测试:

和

【问题讨论】:

  • 什么语言?请标记它。例如,您的正则表达式在 perl 中工作得非常好。
  • 那是雅虎!管道(添加到我的问题中)
  • 您的管道示例......工作正常。它将title 显示为Crachet 7/12 (?)
  • 在您的previous question 中,\S+ 正确匹配了Crachet 之前的第一个空格,如第二个屏幕截图所示。那么中间发生了什么变化?
  • 它只适用于第一个...我需要几分钟的反思才能将所有信息放在一起。非常感谢您的帮助。

标签: regex character space yahoo-pipes


【解决方案1】:

试试正则表达式

^(\S+)\s+(.*)$

选中 g 和 m 修饰符复选框。

【讨论】:

  • g 不必检查,第二部分出现多个单词时出错。 ;-)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-04-16
  • 2019-09-04
  • 1970-01-01
相关资源
最近更新 更多