- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我尝试使用 preg_split 拆分文本,但我没有得到它的正则表达式。
例子:
I search 1, regex to: no. Or... yes!
应该得到:
Array
(
[0] => I
[1] => search
[2] => 1
[3] => ,
[4] => regex
[5] => to
[6] => :
[7] => no
[8] => .
[9] => Or
[10] => ...
[11] => yes
[12] => !
)
我尝试了以下代码:
preg_split("/([\s]+)/", "I search 1, regex to: no. Or... yes!")
结束于:
Array
(
[0] => I
[1] => search
[2] => 1,
[3] => regex
[4] => to:
[5] => no.
[6] => Or...
[7] => yes!
)
编辑:好的,原来的问题已经解决了,但我在示例中忘记了一些东西:
新例子:
I search 1, regex (regular expression) to: That's it is! Und über den Wolken müssen wir...
应该得到:
array (
0 => 'I',
1 => 'search',
2 => '1',
3 => ',',
4 => 'regex',
5 => '(',
6 => 'regular',
7 => 'expression',
8 => ')',
9 => 'to',
10 => ':',
11 => 'That',
12 => '\'s',
13 => 'it',
14 => 'is',
15 => '!',
16 => 'Und',
17 => 'über',
18 => 'den',
19 => 'Wolken',
20 => 'müssen',
21 => 'wir',
22 => '...',
)
一件事是,开头 ( 在第一个解决方案中不匹配。另一件事是,也不是单词内的德语字符 ÄÖÜäöüß 不匹配。
希望可以更新问题(而不是打开一个新问题)。
我的 last try以下是不匹配的内容:
\s+|(?<!(A-Za-z1-0ÄÖÜäöüß)+)(?=(A-Za-z1-0ÄÖÜäöüß)+)
最佳答案
您可以使用这个基于前瞻的正则表达式:
$str = 'I search 1, regex to: no. Or... yes!';
$tok = preg_split('/\h+|(?<!\W)(?=\W)/', $str);
print_r($tok);
Array
(
[0] => I
[1] => search
[2] => 1
[3] => ,
[4] => regex
[5] => to
[6] => :
[7] => no
[8] => .
[9] => Or
[10] => ...
[11] => yes
[12] => !
)
/\h+|(?<!\W)(?=\W)
是基于交替的正则表达式,它在 1+ 水平空间或在前一个字符不是非单词字符且下一个字符是非单词字符的位置处拆分。
交替的 RHS 是 (?<!\W)(?=\W)
其中 (?<!\W)
是负向后看,这意味着前一个字符不是非单词字符。那么(?=\W)
是正先行,这意味着下一个字符是一个非单词字符。
关于php preg_split 没有松散的文本,。 : and so forth,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29059112/
我正在尝试在松散的 XAML 中使用 ResourceDictionary 并将其加载到运行时以向 WPF 应用程序提供模板和样式。我在本地目录中有可用的 XAML,并在应用启动时使用 URI 将新的
我正在尝试在松散的 XAML 中使用 ResourceDictionary 并将其加载到运行时以向 WPF 应用程序提供模板和样式。我在本地目录中提供了 XAML,并在应用程序启动时使用 URI 将新
下面这段代码会导致内存丢失,因为rA在构造时被初始化为无效。我什么时候可以解决这个问题? 使用 shared_ptr 还是希望 future 的编译器版本能够捕获这些错误代码? #include u
我有一个可扩展的UITableView,具有特定的单元格、页眉和页脚高度。当用户点击标题时,单元格开始显示在其下方(部分展开)。当用户再次点击时,部分会折叠。 我的问题是,当用户点击标题时,标题变为绿
我看过这个问题,没看出问题出在哪里。我不是 C++ 专家,所以对我来说这看起来还不错。我上次尝试时,这曾经毫无问题地编译。 namespace yaaf { /********************
问题陈述如下,假设你有一个包含三个元素的标题: ... ... ... Logo 和选项的绝对宽度分别为 220px 和 294px。元素布局安排是: .logo { float:left; } .s
我是一名优秀的程序员,十分优秀!