如果超过一组匹配(多个 XOR),则 Reg Exp 不选择
数据保存在 Oracle 12c 数据库中,每个 ICD-10-CM 代码一行,带有患者 ID(外键),如下所示(请注意,可能还有许多其他代码,以下只是与此问题相关的代码) ):
ID ICD10CODE
1 S72.91XB
1 S72.92XB
2 S72.211A
3 S72.414A
3 S72.415A
4 S32.509A
5 S32.301A
5 S32.821A
6 S32.421A
6 S32.422A
7 S32.421A
8 S32.421A
8 S32.509A
当前的任务是选择仅匹配以下点之一的不同患者(使用标准正则表达式语法):
- 任意数量:
S32\.1\w\w\ w
,S32\.2\w\w\w
、S32\.3\w\w\w
、S32\.5\w\w\w< /code>,
S32\.6\w\w\w
,S32\.7\w\w\w
,S32\.8\w\ w\w
- 任意数量:
S32\.4\w1\w
、S32\.4\w3\w
、S32\.4\w4\w
、>S32\.4\w6\w
、S32\.4\w7\w
、S32\.4\w8\w
、S32\.4\w9\w
- 任意数量:
S32\.4\w2\w
、S32\.4\w3\w
,S32\.4\w5\w
,S32\.4\w6\w
,S32\.4\w7\w
,S32\.4\w8\w
、S32\.4\w9\w
- 任意数量:
S72\.[0-8]\w1\w
,S72\.[0-8]\w3\w
,S72\.[0-8]\w4\w
,S72\.[0-8]\w6\w
、S72\.[0-8]\w7\w
、S72\.[0-8 ]\w8\w
、S72\.[0-8]\w9\w
- 任意数量:
S72\.[0-8]\w2\w
代码>,S72\.[0-8]\w3\w
、S72\.[0-8]\w5\w
、S72\.[0-8 ]\w6\w
、S72\.[0-8]\w7\w
、S72\.[0-8]\w8\w
、S72\.[0-8]\w9\w
- 任意数量:
S72\.91\w\w
、S72\.93\w\w
、S72\.94\w\w
、S72\.96\w\w
、S72\.97\w\w
代码>,S72\.98\w\w
、S72\.99\w\w
- 任意数量:
S72\.92\w\w
,S72\.93\w\w
,S72\.95\w\w
,S72\.96\w\w
,S72\.97\w\w
、S72\.98\w\w
、S72\.99\w\w
任何排列或每个患者允许对项目符号中列出的代码进行组合(包括重复),但跨行的排列或组合对于患者来说应该是互斥的。我的方法是在GROUP BY ID
上应用LISTAGG
:
ID LISTAGG(ICD10CODE, ',')
1 S72.91XB,S72.92XB
2 S72.211A
3 S72.414A,S72.415A
4 S32.509A
5 S32.301A,S32.821A
6 S32.421A,S32.422A
7 S32.421A
8 S32.421A,S32.509A
然后使用这个正则表达式进行过滤, <代码>(S32\.(([1-3]|[5-8])|(4\w((1|4)|(2|5)|(3)|([5-9]) )))\w+)|(S72\.(([0 -8]\w((1|4)|(2|5)|(3)|([5-9])))|(9((1|4)|(2|5)|(3) |([5-9]))))\w+),这几乎是上面项目符号的字面表示。我的表达是根据这个答案中的想法改编的,看起来,((RB\s+)+ |(JJ\s+)+)
自动选择 "RB"
或 "JJ"
,但不会同时选择两者。
我无法让它工作。答案应该只包含 ID 2、4、5 和 7。但是,我开发的表达式匹配所有 ID。
解决这个问题的办法是什么?
[编辑]更多信息:
以上所有这些 S 代码都与下肢骨骼损伤有关:S32
用于骨盆(髋骨)骨折,S72
用于股骨(大腿骨)骨折。请注意,我们有两个股骨和两个髋臼(股骨连接的骨盆窝)。 S32.4
代码表示髋臼(S32.[1235678]\w{3}
系列的其余部分表示骨盆的其他部分)。左右股骨和髋臼分别用第 6 个字符中的 1|4
或 2|5
表示,除非代码以 S72.9 当这些数字出现在第 5 个字符时。
纳入研究人群的患者应该只有其中一根骨头骨折。这意味着,两根股骨之一、髋臼之一或骨盆,但不是它们的组合。单根骨头骨折的组合并不重要。例如,右侧单股骨可以在 10 个不同的位置和方式(膝盖区域、中轴、头部等)断裂,每个位置都会生成不同的 S72。\w[1|4]\w{ 2}
代码),并且仍应被选中。
The data are held in an Oracle 12c database, one row per ICD-10-CM code, with a patient ID (foreign key) like so (note that there could be many other codes, the following are just the ones pertinent to this question):
ID ICD10CODE
1 S72.91XB
1 S72.92XB
2 S72.211A
3 S72.414A
3 S72.415A
4 S32.509A
5 S32.301A
5 S32.821A
6 S32.421A
6 S32.422A
7 S32.421A
8 S32.421A
8 S32.509A
The task at hand is to select distinct patients that match only one of the following points (using standard regular expression syntax):
- Any number of:
S32\.1\w\w\w
,S32\.2\w\w\w
,S32\.3\w\w\w
,S32\.5\w\w\w
,S32\.6\w\w\w
,S32\.7\w\w\w
,S32\.8\w\w\w
- Any number of:
S32\.4\w1\w
,S32\.4\w3\w
,S32\.4\w4\w
,S32\.4\w6\w
,S32\.4\w7\w
,S32\.4\w8\w
,S32\.4\w9\w
- Any number of:
S32\.4\w2\w
,S32\.4\w3\w
,S32\.4\w5\w
,S32\.4\w6\w
,S32\.4\w7\w
,S32\.4\w8\w
,S32\.4\w9\w
- Any number of:
S72\.[0-8]\w1\w
,S72\.[0-8]\w3\w
,S72\.[0-8]\w4\w
,S72\.[0-8]\w6\w
,S72\.[0-8]\w7\w
,S72\.[0-8]\w8\w
,S72\.[0-8]\w9\w
- Any number of:
S72\.[0-8]\w2\w
,S72\.[0-8]\w3\w
,S72\.[0-8]\w5\w
,S72\.[0-8]\w6\w
,S72\.[0-8]\w7\w
,S72\.[0-8]\w8\w
,S72\.[0-8]\w9\w
- Any number of:
S72\.91\w\w
,S72\.93\w\w
,S72\.94\w\w
,S72\.96\w\w
,S72\.97\w\w
,S72\.98\w\w
,S72\.99\w\w
- Any number of:
S72\.92\w\w
,S72\.93\w\w
,S72\.95\w\w
,S72\.96\w\w
,S72\.97\w\w
,S72\.98\w\w
,S72\.99\w\w
Any permutation or combination (including repetitions) of codes listed within a bullet are permitted for each patient, but permutations or combinations across rows should occur mutually exclusively for a patient. My method is to apply LISTAGG
on GROUP BY ID
:
ID LISTAGG(ICD10CODE, ',')
1 S72.91XB,S72.92XB
2 S72.211A
3 S72.414A,S72.415A
4 S32.509A
5 S32.301A,S32.821A
6 S32.421A,S32.422A
7 S32.421A
8 S32.421A,S32.509A
Then filter using this regular expression, (S32\.(([1-3]|[5-8])|(4\w((1|4)|(2|5)|(3)|([5-9]))))\w+)|(S72\.(([0-8]\w((1|4)|(2|5)|(3)|([5-9])))|(9((1|4)|(2|5)|(3)|([5-9]))))\w+)
, which is almost a literal representation of the bullets above. My expression is adapted from the idea in this answer, where it seems that, ((RB\s+)+|(JJ\s+)+)
automatically selects either "RB"
or "JJ"
, but not both.
I cannot get it to work. The answer should contain only IDs 2, 4, 5, and 7. But, the expression I developed matches all IDs.
What is a solution to this problem?
[Edit] Some more information:
All these S codes above relate to injuries to the bones in the lower extremity: S32
is for fractures of the pelvis (hip bone), S72
is for fractures of the femur (thigh bone). Note that we have two femurs, and two acetabulum (socket of the pelvis where the femur connects). The S32.4
code denotes the acetabulum (the rest of the S32.[1235678]\w{3}
series denotes other parts of the pelvis). Right and left femur and acetabulum are denoted by 1|4
or 2|5
in the 6th character, respectively, unless the code starts with S72.9
when those numbers appear in the 5th character.
The patients to be included in the study population should only have one of the bones broken. That means, one of the two femurs, one of the acetabulum, or the pelvis, but not a combination of them. Combinations of fractures of a single bone do not matter. For example, the right single femur can be broken in 10 different places and ways (the knee area, the middle shaft, the head, etc., each generating a different S72.\w[1|4]\w{2}
code), and should still be selected.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
选项 1:
您可以使用单个正则表达式来完成:
对于您的示例数据:
输出:
选项 2:
您可以将正则表达式放入表中:
然后您可以使用查询:
选项 3:
与第一个选项类似,但您可以将匹配项放入表中,然后您可以确定使用了哪个匹配项:
选项 2 & 3. 两者输出:
选项 4:
您还可以摆脱(慢)正则表达式并使用
LIKE 如果将匹配项存储为:
则使用查询:
db<>fiddle 此处
))选项 2 & 3. 两者输出:
选项 4:
您还可以摆脱(慢)正则表达式并使用
LIKE 如果将匹配项存储为:
则使用查询:
db<>fiddle 此处
|| '|^(S32\.4\w[1346789]\w(,|$))+对于您的示例数据:
输出:
选项 2:
您可以将正则表达式放入表中:
然后您可以使用查询:
选项 3:
与第一个选项类似,但您可以将匹配项放入表中,然后您可以确定使用了哪个匹配项:
选项 2 & 3. 两者输出:
选项 4:
您还可以摆脱(慢)正则表达式并使用
LIKE 如果将匹配项存储为:
则使用查询:
db<>fiddle 此处
|| '|^(S32\.4\w[2356789]\w(,|$))+对于您的示例数据:
输出:
选项 2:
您可以将正则表达式放入表中:
然后您可以使用查询:
选项 3:
与第一个选项类似,但您可以将匹配项放入表中,然后您可以确定使用了哪个匹配项:
选项 2 & 3. 两者输出:
选项 4:
您还可以摆脱(慢)正则表达式并使用
LIKE 如果将匹配项存储为:
则使用查询:
db<>fiddle 此处
|| '|^(S72\.[0-8]\w[1346789]\w(,|$))+对于您的示例数据:
输出:
选项 2:
您可以将正则表达式放入表中:
然后您可以使用查询:
选项 3:
与第一个选项类似,但您可以将匹配项放入表中,然后您可以确定使用了哪个匹配项:
选项 2 & 3. 两者输出:
选项 4:
您还可以摆脱(慢)正则表达式并使用
LIKE 如果将匹配项存储为:
则使用查询:
db<>fiddle 此处
|| '|^(S72\.[0-8]\w[2356789]\w(,|$))+对于您的示例数据:
输出:
选项 2:
您可以将正则表达式放入表中:
然后您可以使用查询:
选项 3:
与第一个选项类似,但您可以将匹配项放入表中,然后您可以确定使用了哪个匹配项:
选项 2 & 3. 两者输出:
选项 4:
您还可以摆脱(慢)正则表达式并使用
LIKE 如果将匹配项存储为:
则使用查询:
db<>fiddle 此处
|| '|^(S72\.9[1346789]\w\w(,|$))+对于您的示例数据:
输出:
选项 2:
您可以将正则表达式放入表中:
然后您可以使用查询:
选项 3:
与第一个选项类似,但您可以将匹配项放入表中,然后您可以确定使用了哪个匹配项:
选项 2 & 3. 两者输出:
选项 4:
您还可以摆脱(慢)正则表达式并使用
LIKE 如果将匹配项存储为:
则使用查询:
db<>fiddle 此处
|| '|^(S72\.9[2356789]\w\w(,|$))+对于您的示例数据:
输出:
选项 2:
您可以将正则表达式放入表中:
然后您可以使用查询:
选项 3:
与第一个选项类似,但您可以将匹配项放入表中,然后您可以确定使用了哪个匹配项:
选项 2 & 3. 两者输出:
选项 4:
您还可以摆脱(慢)正则表达式并使用
LIKE 如果将匹配项存储为:
则使用查询:
db<>fiddle 此处
)对于您的示例数据:
输出:
选项 2:
您可以将正则表达式放入表中:
然后您可以使用查询:
选项 3:
与第一个选项类似,但您可以将匹配项放入表中,然后您可以确定使用了哪个匹配项:
选项 2 & 3. 两者输出:
选项 4:
您还可以摆脱(慢)正则表达式并使用
LIKE 如果将匹配项存储为:
则使用查询:
db<>fiddle 此处
)) GROUP BY t.id, m.id HAVING COUNT(m.match) = COUNT(t.id);选项 3:
与第一个选项类似,但您可以将匹配项放入表中,然后您可以确定使用了哪个匹配项:
选项 2 & 3. 两者输出:
选项 4:
您还可以摆脱(慢)正则表达式并使用
LIKE 如果将匹配项存储为:
则使用查询:
db<>fiddle 此处
|| '|^(S32\.4\w[1346789]\w(,|$))+对于您的示例数据:
输出:
选项 2:
您可以将正则表达式放入表中:
然后您可以使用查询:
选项 3:
与第一个选项类似,但您可以将匹配项放入表中,然后您可以确定使用了哪个匹配项:
选项 2 & 3. 两者输出:
选项 4:
您还可以摆脱(慢)正则表达式并使用
LIKE 如果将匹配项存储为:
则使用查询:
db<>fiddle 此处
|| '|^(S32\.4\w[2356789]\w(,|$))+对于您的示例数据:
输出:
选项 2:
您可以将正则表达式放入表中:
然后您可以使用查询:
选项 3:
与第一个选项类似,但您可以将匹配项放入表中,然后您可以确定使用了哪个匹配项:
选项 2 & 3. 两者输出:
选项 4:
您还可以摆脱(慢)正则表达式并使用
LIKE 如果将匹配项存储为:
则使用查询:
db<>fiddle 此处
|| '|^(S72\.[0-8]\w[1346789]\w(,|$))+对于您的示例数据:
输出:
选项 2:
您可以将正则表达式放入表中:
然后您可以使用查询:
选项 3:
与第一个选项类似,但您可以将匹配项放入表中,然后您可以确定使用了哪个匹配项:
选项 2 & 3. 两者输出:
选项 4:
您还可以摆脱(慢)正则表达式并使用
LIKE 如果将匹配项存储为:
则使用查询:
db<>fiddle 此处
|| '|^(S72\.[0-8]\w[2356789]\w(,|$))+对于您的示例数据:
输出:
选项 2:
您可以将正则表达式放入表中:
然后您可以使用查询:
选项 3:
与第一个选项类似,但您可以将匹配项放入表中,然后您可以确定使用了哪个匹配项:
选项 2 & 3. 两者输出:
选项 4:
您还可以摆脱(慢)正则表达式并使用
LIKE 如果将匹配项存储为:
则使用查询:
db<>fiddle 此处
|| '|^(S72\.9[1346789]\w\w(,|$))+对于您的示例数据:
输出:
选项 2:
您可以将正则表达式放入表中:
然后您可以使用查询:
选项 3:
与第一个选项类似,但您可以将匹配项放入表中,然后您可以确定使用了哪个匹配项:
选项 2 & 3. 两者输出:
选项 4:
您还可以摆脱(慢)正则表达式并使用
LIKE 如果将匹配项存储为:
则使用查询:
db<>fiddle 此处
|| '|^(S72\.9[2356789]\w\w(,|$))+对于您的示例数据:
输出:
选项 2:
您可以将正则表达式放入表中:
然后您可以使用查询:
选项 3:
与第一个选项类似,但您可以将匹配项放入表中,然后您可以确定使用了哪个匹配项:
选项 2 & 3. 两者输出:
选项 4:
您还可以摆脱(慢)正则表达式并使用
LIKE 如果将匹配项存储为:
则使用查询:
db<>fiddle 此处
)对于您的示例数据:
输出:
选项 2:
您可以将正则表达式放入表中:
然后您可以使用查询:
选项 3:
与第一个选项类似,但您可以将匹配项放入表中,然后您可以确定使用了哪个匹配项:
选项 2 & 3. 两者输出:
选项 4:
您还可以摆脱(慢)正则表达式并使用
LIKE 如果将匹配项存储为:
则使用查询:
db<>fiddle 此处
Option 1:
You can do it with a single regular expression:
Which, for your sample data:
Outputs:
Option 2:
You can put the regular expressions into a table:
Then you can use the query:
Option 3:
Similar to the first option, but you can put the matches into a table and you can determine which match has been used:
Options 2 & 3 both output:
Option 4:
You can also get rid of the (slow) regular expressions and use
LIKE
if you store the matches as:Then use the query:
db<>fiddle here
))Options 2 & 3 both output:
Option 4:
You can also get rid of the (slow) regular expressions and use
LIKE
if you store the matches as:Then use the query:
db<>fiddle here
|| '|^(S32\.4\w[1346789]\w(,|$))+Which, for your sample data:
Outputs:
Option 2:
You can put the regular expressions into a table:
Then you can use the query:
Option 3:
Similar to the first option, but you can put the matches into a table and you can determine which match has been used:
Options 2 & 3 both output:
Option 4:
You can also get rid of the (slow) regular expressions and use
LIKE
if you store the matches as:Then use the query:
db<>fiddle here
|| '|^(S32\.4\w[2356789]\w(,|$))+Which, for your sample data:
Outputs:
Option 2:
You can put the regular expressions into a table:
Then you can use the query:
Option 3:
Similar to the first option, but you can put the matches into a table and you can determine which match has been used:
Options 2 & 3 both output:
Option 4:
You can also get rid of the (slow) regular expressions and use
LIKE
if you store the matches as:Then use the query:
db<>fiddle here
|| '|^(S72\.[0-8]\w[1346789]\w(,|$))+Which, for your sample data:
Outputs:
Option 2:
You can put the regular expressions into a table:
Then you can use the query:
Option 3:
Similar to the first option, but you can put the matches into a table and you can determine which match has been used:
Options 2 & 3 both output:
Option 4:
You can also get rid of the (slow) regular expressions and use
LIKE
if you store the matches as:Then use the query:
db<>fiddle here
|| '|^(S72\.[0-8]\w[2356789]\w(,|$))+Which, for your sample data:
Outputs:
Option 2:
You can put the regular expressions into a table:
Then you can use the query:
Option 3:
Similar to the first option, but you can put the matches into a table and you can determine which match has been used:
Options 2 & 3 both output:
Option 4:
You can also get rid of the (slow) regular expressions and use
LIKE
if you store the matches as:Then use the query:
db<>fiddle here
|| '|^(S72\.9[1346789]\w\w(,|$))+Which, for your sample data:
Outputs:
Option 2:
You can put the regular expressions into a table:
Then you can use the query:
Option 3:
Similar to the first option, but you can put the matches into a table and you can determine which match has been used:
Options 2 & 3 both output:
Option 4:
You can also get rid of the (slow) regular expressions and use
LIKE
if you store the matches as:Then use the query:
db<>fiddle here
|| '|^(S72\.9[2356789]\w\w(,|$))+Which, for your sample data:
Outputs:
Option 2:
You can put the regular expressions into a table:
Then you can use the query:
Option 3:
Similar to the first option, but you can put the matches into a table and you can determine which match has been used:
Options 2 & 3 both output:
Option 4:
You can also get rid of the (slow) regular expressions and use
LIKE
if you store the matches as:Then use the query:
db<>fiddle here
)Which, for your sample data:
Outputs:
Option 2:
You can put the regular expressions into a table:
Then you can use the query:
Option 3:
Similar to the first option, but you can put the matches into a table and you can determine which match has been used:
Options 2 & 3 both output:
Option 4:
You can also get rid of the (slow) regular expressions and use
LIKE
if you store the matches as:Then use the query:
db<>fiddle here
)) GROUP BY t.id, m.id HAVING COUNT(m.match) = COUNT(t.id);Option 3:
Similar to the first option, but you can put the matches into a table and you can determine which match has been used:
Options 2 & 3 both output:
Option 4:
You can also get rid of the (slow) regular expressions and use
LIKE
if you store the matches as:Then use the query:
db<>fiddle here
|| '|^(S32\.4\w[1346789]\w(,|$))+Which, for your sample data:
Outputs:
Option 2:
You can put the regular expressions into a table:
Then you can use the query:
Option 3:
Similar to the first option, but you can put the matches into a table and you can determine which match has been used:
Options 2 & 3 both output:
Option 4:
You can also get rid of the (slow) regular expressions and use
LIKE
if you store the matches as:Then use the query:
db<>fiddle here
|| '|^(S32\.4\w[2356789]\w(,|$))+Which, for your sample data:
Outputs:
Option 2:
You can put the regular expressions into a table:
Then you can use the query:
Option 3:
Similar to the first option, but you can put the matches into a table and you can determine which match has been used:
Options 2 & 3 both output:
Option 4:
You can also get rid of the (slow) regular expressions and use
LIKE
if you store the matches as:Then use the query:
db<>fiddle here
|| '|^(S72\.[0-8]\w[1346789]\w(,|$))+Which, for your sample data:
Outputs:
Option 2:
You can put the regular expressions into a table:
Then you can use the query:
Option 3:
Similar to the first option, but you can put the matches into a table and you can determine which match has been used:
Options 2 & 3 both output:
Option 4:
You can also get rid of the (slow) regular expressions and use
LIKE
if you store the matches as:Then use the query:
db<>fiddle here
|| '|^(S72\.[0-8]\w[2356789]\w(,|$))+Which, for your sample data:
Outputs:
Option 2:
You can put the regular expressions into a table:
Then you can use the query:
Option 3:
Similar to the first option, but you can put the matches into a table and you can determine which match has been used:
Options 2 & 3 both output:
Option 4:
You can also get rid of the (slow) regular expressions and use
LIKE
if you store the matches as:Then use the query:
db<>fiddle here
|| '|^(S72\.9[1346789]\w\w(,|$))+Which, for your sample data:
Outputs:
Option 2:
You can put the regular expressions into a table:
Then you can use the query:
Option 3:
Similar to the first option, but you can put the matches into a table and you can determine which match has been used:
Options 2 & 3 both output:
Option 4:
You can also get rid of the (slow) regular expressions and use
LIKE
if you store the matches as:Then use the query:
db<>fiddle here
|| '|^(S72\.9[2356789]\w\w(,|$))+Which, for your sample data:
Outputs:
Option 2:
You can put the regular expressions into a table:
Then you can use the query:
Option 3:
Similar to the first option, but you can put the matches into a table and you can determine which match has been used:
Options 2 & 3 both output:
Option 4:
You can also get rid of the (slow) regular expressions and use
LIKE
if you store the matches as:Then use the query:
db<>fiddle here
)Which, for your sample data:
Outputs:
Option 2:
You can put the regular expressions into a table:
Then you can use the query:
Option 3:
Similar to the first option, but you can put the matches into a table and you can determine which match has been used:
Options 2 & 3 both output:
Option 4:
You can also get rid of the (slow) regular expressions and use
LIKE
if you store the matches as:Then use the query:
db<>fiddle here
好的,我已经把你的断骨代码添加到了S32和S72系列中。
这就是真正需要做的一切。
请随意将
,?
更改为(,|$)
,但不要更改其他任何内容。让我知道断骨代码是否正确。
S32\.\w[25]\w\w
、S32.1\w\w\w、S32.2\w\w\w、S32.3\w\w\w、 S32.5\w\w\w、S32.6\w\w\w、S32.7\w\w\w、S32.8\w\w\wS32\.\w[25]\w\w
、S32.4\w1\w、S32.4\w3\w、S32.4\w4\w、S32.4\w6\ w、S32.4\w7\w、S32.4\w8\w、S32.4\w9\wS32\.\w[25]\w\w
、S32.4\w2\w、S32.4\w3\w、S32.4\w5\w、S32.4\w6\ w、S32.4\w7\w、S32.4\w8\w、S32.4\w9\wS72\.\w[14]\w\w
, S72.[0-8]\w1\w, S72.[0-8]\w3\w, S72.[0-8 ]\w4\w, S72.[0-8]\w6\w, S72.[0-8]\w7\w, S72.[0-8]\w8\w, S72.[0-8]\w9\wS72\.\w[14]\w\w
, S72.[0-8]\w2\w, S72.[0-8] \w3\w, S72.[0-8]\w5\w, S72.[0-8]\w6\w, S72.[0-8]\w7\w, S72.[0-8]\w8\w, S72.[0-8]\w9\w新的正则表达式是
https://regex101.com/r/OAHdCO/1
Ok, I've added your broken bones codes to the S32 and S72 series.
That's all that needed to be done really.
Feel free to change
,?
to(,|$)
but don't change anything else.Let me know if the broken bones codes is about right.
S32\.\w[25]\w\w
, S32.1\w\w\w, S32.2\w\w\w, S32.3\w\w\w, S32.5\w\w\w, S32.6\w\w\w, S32.7\w\w\w, S32.8\w\w\wS32\.\w[25]\w\w
, S32.4\w1\w, S32.4\w3\w, S32.4\w4\w, S32.4\w6\w, S32.4\w7\w, S32.4\w8\w, S32.4\w9\wS32\.\w[25]\w\w
, S32.4\w2\w, S32.4\w3\w, S32.4\w5\w, S32.4\w6\w, S32.4\w7\w, S32.4\w8\w, S32.4\w9\wS72\.\w[14]\w\w
, S72.[0-8]\w1\w, S72.[0-8]\w3\w, S72.[0-8]\w4\w, S72.[0-8]\w6\w, S72.[0-8]\w7\w, S72.[0-8]\w8\w, S72.[0-8]\w9\wS72\.\w[14]\w\w
, S72.[0-8]\w2\w, S72.[0-8]\w3\w, S72.[0-8]\w5\w, S72.[0-8]\w6\w, S72.[0-8]\w7\w, S72.[0-8]\w8\w, S72.[0-8]\w9\wS72\.[14]\w\w\w
, S72.91\w\w, S72.93\w\w, S72.94\w\w, S72.96\w\w, S72.97\w\w, S72.98\w\w, S72.99\w\wS72\.[14]\w\w\w
, S72.92\w\w, S72.93\w\w, S72.95\w\w, S72.96\w\w, S72.97\w\w, S72.98\w\w, S72.99\w\wThe new regex is
https://regex101.com/r/OAHdCO/1