我想编写一个单一的正则表达式,除了公司就足以捕获所有内容(在示例中只是LTD - 我知道如何扩展它) 例如:
ABC capture ABC
ABC LTD capture ABC
ABC LTD UK capture ABC UK
LTD ABC capture ABC
LTD UK ABC capture UK ABC
我在基于JAVA的环境中工作。
到目前为止我有(^.*?)(?=(?:LTD|LIMITED\s*)+)
只适用于ABC LTD(甚至不适用于ABC)
这里的任何帮助都将受到大力赞赏。
答案 0 :(得分:1)
答案 1 :(得分:-1)
不完全了解Java语法,但我确信它有自己的replace和split命令。 认为删除公司缩写然后拆分会更有效率。
代码将在C#中,但我认为将其移至Java
并不困难// it's not univesal but matches your sample
string newString = Regex.Replace(baseString, "((LTD)|(LIMITED)|(JSC)...)",""); // remove all abbrevations without headache about Look-Forward-Back-And-So-On
string[] companyNames = newString.Split("\n");
无论如何 - 用正则表达式做一些事情 - 尝试简化它并避免扩展功能。