Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在java中拆分此字符串需要正则表达式?_Java_Regex_String_Split - Fatal编程技术网

如何在java中拆分此字符串需要正则表达式?

如何在java中拆分此字符串需要正则表达式?,java,regex,string,split,Java,Regex,String,Split,我需要拆分此字符串: COMITATO: TRIESTE Indirizzo legale: VIA REVOLTELLA 39 34139 Trieste (Trieste) Mob.: 3484503368 Fax: 040310096 Sito web: www.csentrieste.it/ 所需的结果必须是如下数组: {COMITATO:,TRIESTE,Indirizzo legale:,VIA REVOLTELLA 39 34139 Trieste (Trieste) ,Mo

我需要拆分此字符串:

COMITATO: TRIESTE Indirizzo legale: VIA REVOLTELLA 39 34139 
Trieste (Trieste) Mob.: 3484503368 Fax: 040310096 Sito web: www.csentrieste.it/
所需的结果必须是如下数组:

{COMITATO:,TRIESTE,Indirizzo legale:,VIA REVOLTELLA 39 34139 
Trieste (Trieste) ,Mob.:,3484503368,Fax:,Sito web:,www.csentrieste.it/}
问题还在于字符串的某些属性可能丢失,因此我无法使用诸如“COMITATO:”或“Indirizzo legale:”等属性的标题进行拆分

示例:如果“Indirizzo legale:”其缺少的字符串将显示为:

COMITATO: TRIESTE Mob.: 3484503368 Fax: 040310096 Sito web: www.csentrieste.it/

这个正则表达式将解析给定的输入:

(?<firstname>.*?):\s*(?<lastname>\w+)(?:(?<occupation>[^:]+):\s*(?<address>.+\n.+))?\sMob.:\s*(?<mobile>\d+)\s*Fax:\s*(?<fax>\d+)\s*Sito web:\s*(?<website>.*)

(?*?):\s*(?\w+)((?[^::+):\s*(?

首先用空格分隔,然后用单词后跟
,然后用空格分隔每个单词,将限制设置为2项。到目前为止,您尝试了什么?无法使用单词进行拆分,因为可能会有一些单词发生变化并且不存在。我指的不是特定的单词,而是任何单词。您熟悉吗?它们可以用在
字符串中#split()
我知道我正在寻找正确的正则表达式sintax,但仍然存在一些单词有空格但不能像“VIA residella 39 34139 Trieste(Trieste)”那样分割的问题必须是1个单词我不提供按单词边界分割,我提供按空格分割,后跟一个单词,后跟一个冒号。这个条件可以使用lookahead轻松构建。