I am fairly experienced with regular expressions, but I am having some difficulty with a current application involving disjunction.
我的情况是: 我需要在定期发言的基础上,在发言内容的“验证内容”的基础上,将发言内容分成部分——例如“状态”、“道路”或“布莱德”-IF等类似英语例子,我们在演讲中写了这些话。 想象我们有像以下地址一样的地址(而且这永远不会有英文),我们具体说明了每个名字之后的识别类型。
美国加利福尼亚州 STATE San Francisco CITY Mission STREET 345 NUMBER
(在身份识别器中,我称之为“身份识别器”。)
We want to parse it into:
United States COUNTRY
California STATE
San Francisco CITY
Mission STREET
245 NUMBER
“科索沃”,这肯定是为了英语,但这里的捕获量如下: 我正在用中国的数据进行工作,事实上,这种身份识别特征的风格随时发生。 以下实例:
云南-省 ; 丽江-市 ; 古城-区 ; 西安-街 ; 杨春-巷 ;
Yunnan-Province ; LiJiang-City ; GuCheng-District ; Xi An-Street ; Yangchun-Alley
这很容易在可能的候选人识别名字上贴上足够微薄的同声,并单独列入一个不受欢迎的名单。
中国的“省一级”实体如下:
省 (Province) ,
自治区 (Autonomous Region) ,
市 (Municipality)
因此,我迄今为止的监管机构认为:
(.+?(?:(?:省)|(?:自治区)|(?:市)))
为了对地址的不同部分进行说明,我有一系列内容。 例如,与城市相对应的下一个层次是:
(.+?(?:(?:地区)|(?:自治州)|(?:市)|(?:盟)))
因此,与省实体相匹配,随后是城市实体:
(.+?(?:(?:省)|(?:自治区)|(?:市)))(.+?(?:(?:地区)|(?:自治州)|(?:市)|(?:盟)))
With named capture groups:
(?<Province>.+?(?:(?:省)|(?:自治区)|(?:市)))(?<City>.+?(?:(?:地区)|(?:自治州)|(?:市)|(?:盟)))
For the above, this yields:
$+{Province} = 云南省
$+{City} = 丽江市
这一切都是好的,而且非常好。 然而,问题在于我试图说明哪些识别标志可以替代其他识别标志。 例如,一个共同的街道实体是“>村”,这意味着村组织委员会。 在我希望分开的一套地址中,并非每个地址都全部写出。 事实上,我也发现“我们”和“公正”的意思。
问题? 如果我对这些因素有纯粹的禁止,我们有以下条件:
(?<Street>.+?(?:(?:村委会)|(?:村委)|(?:村)))
确实发生的情况是,如果有一个实体——英国乡村组织委员会(Baoding 村组织),那么这个“血腥”组织就会停止在孤儿院,把它称作我们的贫穷日,因为它是潜在的分裂分子之一。
Imagine an English equivalent like the following:
(?<Animal>.+?(?:(?:Cat)|(?:Elephant)|(?:CatElephant)|(?:City)))
We have two input strings:
1. "crap catelephant crap city", where we wanted "Crap catelephant" and "crap city"
2. "crap catelephant city" , where we wanted "crap cat" "elephant city"
阁下说,解决办法是让身份认同者抓住贪.。 但! 各实体有相同的识别资料,并不相同。
例如。 它只是“城市”。 但在中国,有县级、省一级和市级城市。 如果这种特性在扼杀中发生两次,特别是在两个相邻的实体,则 gr脏搜查会错误地把贪 gr与第一个实体混为一谈。 如下:
广东-省 ; 江门-市 ; 开平-市 ; 三埠-区 石海管-区
Guangdong-province ; Jiangmen-City ; Kaiping-City ; Sanbu-District ; Shihaiguan-District
(上文注,已对此进行了分类。) 原始数据只能具有一系列的加固特性。
The match for a greedy search would be
江门市开平市
这样做是错误的,因为两个相邻实体应当分开组成。 一旦进入省级城市,就有一个县级城市。
回到原来的点,我感谢你今天阅读,是否有办法对非强制性实体进行加权? 我要首先找到最高“加权”标识。 缩略语 在初步实验中,reg子公司显然在寻找不受欢迎的配对物方面有好处。 这是否是一个有效的假设? 我是否应该首先把最常见的身份识别资料列入不受欢迎的清单?
如果我失去了与中国有关的细节,我道歉,如果需要,可以进一步澄清。 例子实际上是否必须是中国-我,更一般地说,是关于军校与军校之间的机械师的问题——它以何种顺序偏爱军政府实体,以及它如何决定何时“每天”进行 la问?
In a way, is there some sort of middle ground between lazy and greedy searches? Find the smallest bit you can find before the longest / highest weighted disjunctive entity? Be lazy, but put in that little bit of extra effort if you can for the sake of thoroughness? (Incidentally, my work philosophy in college?)