updated 修复最优解问题

This commit is contained in:
PASSER-BY committed 2022-09-08 22:26:16 +08:00
1 parent e5f0f47afc
commit 89dca5084c
4 files changed
+17 -3

No files matched your search

+1 -1
View File
@@ -10,4 +10,4 @@
* *
* Create on: 2022-09-08 * Create on: 2022-09-08
*/ */
!function(s,f){"object"==typeof exports&&"object"==typeof module?module.exports=f():"function"==typeof define&&define.amd?define([],f):"object"==typeof exports?exports.relationship=f():s.relationship=f()}(this,(()=>(()=>{"use strict";var s={d:(f,x)=>{for(var d in x)s.o(x,d)&&!s.o(f,d)&&Object.defineProperty(f,d,{enumerable:!0,get:x[d]})},o:(s,f)=>Object.prototype.hasOwnProperty.call(s,f)},f={};s.d(f,{default:()=>A});const x=[{exp:/^(.+)&o([^#]+)&l/g,str:"$1$2"},{exp:/^(.+)&l([^#]+)&o/g,str:"$1$2"},{exp:/^(.+)?,o([sb](&\d+)?)([^#]+)&l/g,str:"$1,x$2$4"},{exp:/^(.+)?,l([sb](&\d+)?)([^#]+)&o/g,str:"$1,x$2$4"},{exp:/(,o[sb](&\d+)?)+(,o[sb])(&\d+)?/,str:"$3$4"},{exp:/(,l[sb](&\d+)?)+(,l[sb])(&\d+)?/,str:"$3$4"},{exp:/^(.*,[fh1])(,[olx][sb](&\d+)?)+,[olx]b(.*)$/,str:"$1,xb$4#$1$4"},{exp:/^(.*,[mw0])(,[olx][sb](&\d+)?)+,[olx]s(.*)$/,str:"$1,xs$4#$1$4"},{exp:/(,[fh1])(,[olx][sb](&\d+)?)+,[olx]s/g,str:"$1,xs"},{exp:/(,[mw0])(,[olx][sb](&\d+)?)+,[olx]b/g,str:"$1,xb"},{exp:/^,[olx][sb](&\d+)?,[olx]b(.+)?$/,str:",xb$2#$2"},{exp:/^,[olx][sb](&\d+)?,[olx]s(.+)?$/,str:",xs$2#$2"},{exp:/^,x([sb])$/,str:",o$1#,l$1"},{exp:/m,h/g,str:"f"},{exp:/f,w/g,str:"m"},{exp:/,[xol][sb](&\d+)?(,[mf])/g,str:"$2"},{exp:/,[mf],d(&\d+)/,str:",xs$1"},{exp:/,[mf],d&([ol])/,str:",$1s"},{exp:/,[mf],s(&\d+)/,str:",xb$1"},{exp:/,[mf],s&([ol])/,str:",$1b"},{exp:/^(.*,[fh1]|[xol]b(&\d+)?),[mf],s(.*)$/,str:"$1,xb$3#$1$3"},{exp:/^(.*,[mw0]|[xol]s(&\d+)?),[mf],d(.*)$/,str:"$1,xs$3#$1$3"},{exp:/(,[mw0]|[xol]s(&\d+)?),[mf],s/,str:"$1,xb"},{exp:/(,[fh1]|[xol]b(&\d+)?),[mf],d/,str:"$1,xs"},{exp:/^,[mf],s(.+)?$/,str:",xb$1#,1$1"},{exp:/^,[mf],d(.+)?$/,str:",xs$1#,0$1"},{exp:/,[ds](&[ol\d]+)?,[olx]b(&\d+)/g,str:",s$2"},{exp:/,[ds](&[ol\d]+)?,[olx]s(&\d+)/g,str:",d$2"},{exp:/,[ds]&o,ob/g,str:",s&o"},{exp:/,[ds]&o,os/g,str:",d&o"},{exp:/,[ds]&l,lb/g,str:",s&l"},{exp:/,[ds]&l,ls/g,str:",d&l"},{exp:/,[ds](&[ol\d]+)?,[olx]s(&\d+)?/g,str:",d$2"},{exp:/,[ds](&[ol\d]+)?,[olx]b(&\d+)?/g,str:",s$2"},{exp:/(,[mwd0]|,[olx]s)(&[ol\d]+)?,[ds](&[ol\d]+)?,m/g,str:"$1"},{exp:/(,[mwd0]|,[olx]s)(&[ol\d]+)?,[ds](&[ol\d]+)?,f/g,str:"$1,h"},{exp:/(,[fhs1]|,[olx]b)(&[ol\d]+)?,[ds](&[ol\d]+)?,f/g,str:"$1"},{exp:/(,[fhs1]|,[olx]b)(&[ol\d]+)?,[ds](&[ol\d]+)?,m/g,str:"$1,w"},{exp:/^,[ds],m(.+)?$/,str:",w$1#$1"},{exp:/^,[ds],f(.+)?$/,str:",h$1#$1"},{exp:/,[wh](,[ds])/g,str:"$1"},{exp:/,w,h|,h,w/g,str:""},{exp:/(.+)?\[([^\|]+?)\|([^\[\]]*\|[^\[\]]*)\](.+)?/g,str:"$1$2$4#$1[$3]$4"},{exp:/(.+)?\[([^\[\]\|]+?)\|([^\[\]\|]+?)?\](.+)?/g,str:"$1$2$4#$1$3$4"}],d={"":["自己","我","俺","吾","本人","在下"],"[f,f|f,m|m,f],[f,m],f":["老太奶爷","祖太奶爷"],"[f,f|f,m|m,f],[f,m],m":["老太奶奶","祖太奶奶"],"[f,m|m,f|m,m],[f,m],f":["老太姥爷","祖太姥爷"],"[f,m|m,f|m,m],[f,m],m":["老太姥姥","祖太姥姥"],"[f|m],[f|m],f":["太老爷"],"[f|m],[f|m],f,ob":["伯太老爷"],"[f|m],[f|m],f,ob,w":["伯太老姥"],"[f|m],[f|m],f,lb":["叔太老爷"],"[f|m],[f|m],f,lb,w":["叔太老姥"],"[f|m],[f|m],f,xs":["姑太老姥"],"[f|m],[f|m],f,xs,h":["姑太老爷"],"[f|m],[f|m],m":["太老姥"],"[f|m],[f|m],m,xb":["舅太老爷"],"[f|m],[f|m],m,xb,w":["舅太老姥"],"[f|m],[f|m],m,xs":["姨太老姥"],"[f|m],[f|m],m,xs,h":["姨太老爷"],"[f,f|f,m|m,f],f":["太奶爷","祖奶爷"],"[f,f|f,m|m,f],f,ob":["伯太奶爷","太伯奶爷"],"[f,f|f,m|m,f],f,ob,w":["伯太奶奶","太伯奶奶"],"[f,f|f,m|m,f],f,lb":["叔太奶爷","太叔奶爷"],"[f,f|f,m|m,f],f,lb,w":["叔太奶奶","太叔奶奶"],"[f,f|f,m|m,f],f,xs":["姑太奶奶","太姑奶奶"],"[f,f|f,m|m,f],f,xs,h":["姑太奶爷","太姑奶爷"],"[f,f|f,m|m,f],m":["太奶奶","祖奶奶"],"[f,f|f,m|m,f],m,xb":["舅太奶爷","太舅奶爷"],"[f,f|f,m|m,f],m,xb,w":["舅太奶奶","太舅奶奶"],"[f,f|f,m|m,f],m,xs":["姨太奶奶","太姨奶奶"],"[f,f|f,m|m,f],m,xs,h":["姨太奶爷","太姨奶爷"],"[f,m|m,f|m,m],f":["太姥爷","祖姥爷","太毑爷"],"[f,m|m,f|m,m],f,ob":["伯太姥爷","伯叔姥爷"],"[f,m|m,f|m,m],f,ob,w":["伯太姥姥","太伯姥姥"],"[f,m|m,f|m,m],f,lb":["叔太姥爷","太叔姥爷"],"[f,m|m,f|m,m],f,lb,w":["叔太姥姥","太叔姥姥"],"[f,m|m,f|m,m],f,xs":["姑太姥姥","太姑姥姥"],"[f,m|m,f|m,m],f,xs,h":["姑太姥爷","太姑姥爷"],"[f,m|m,f|m,m],m":["太姥姥","祖姥姥","太毑毑","太姥"],"[f,m|m,f|m,m],m,xb":["舅太姥爷","太舅姥爷"],"[f,m|m,f|m,m],m,xb,w":["舅太姥姥","太舅姥姥"],"[f,m|m,f|m,m],m,xs":["姨太姥姥","太姨姥姥"],"[f,m|m,f|m,m],m,xs,h":["姨太姥爷","太姨姥爷"],"[f|m],[f|m],[f|m]":["曾祖辈","祖祖","老太"],"[f|m],[f|m]":["祖辈"],"[f|m],f":["老爷"],"[f|m],f,ob":["伯老爷"],"[f|m],f,ob,w":["伯老姥"],"[f|m],f,lb":["叔老爷"],"[f|m],f,lb,w":["叔老姥"],"[f|m],f,xs":["姑老姥"],"[f|m],f,xs,h":["姑老爷"],"[f|m],m":["老姥"],"[f|m],m,xb":["舅老爷"],"[f|m],m,xb,w":["舅老姥"],"[f|m],m,xs":["姨老姥"],"[f|m],m,xs,h":["姨老爷"],"f,f,[f|m]":["曾祖父母"],"f,f,[f,xs|m,xb],s":["舅姑爷爷","舅姑爷"],"f,[f|mLine truncated !function(s,f){"object"==typeof exports&&"object"==typeof module?module.exports=f():"function"==typeof define&&define.amd?define([],f):"object"==typeof exports?exports.relationship=f():s.relationship=f()}(this,(()=>(()=>{"use strict";var s={d:(f,x)=>{for(var d in x)s.o(x,d)&&!s.o(f,d)&&Object.defineProperty(f,d,{enumerable:!0,get:x[d]})},o:(s,f)=>Object.prototype.hasOwnProperty.call(s,f)},f={};s.d(f,{default:()=>A});const x=[{exp:/^(.+)&o([^#]+)&l/g,str:"$1$2"},{exp:/^(.+)&l([^#]+)&o/g,str:"$1$2"},{exp:/^(.+)?,o([sb](&\d+)?)([^#]+)&l/g,str:"$1,x$2$4"},{exp:/^(.+)?,l([sb](&\d+)?)([^#]+)&o/g,str:"$1,x$2$4"},{exp:/(,o[sb](&\d+)?)+(,o[sb])(&\d+)?/,str:"$3$4"},{exp:/(,l[sb](&\d+)?)+(,l[sb])(&\d+)?/,str:"$3$4"},{exp:/^(.*,[fh1])(,[olx][sb](&\d+)?)+,[olx]b(.*)$/,str:"$1,xb$4#$1$4"},{exp:/^(.*,[mw0])(,[olx][sb](&\d+)?)+,[olx]s(.*)$/,str:"$1,xs$4#$1$4"},{exp:/(,[fh1])(,[olx][sb](&\d+)?)+,[olx]s/g,str:"$1,xs"},{exp:/(,[mw0])(,[olx][sb](&\d+)?)+,[olx]b/g,str:"$1,xb"},{exp:/^,[olx][sb](&\d+)?,[olx]b(.+)?$/,str:",xb$2#$2"},{exp:/^,[olx][sb](&\d+)?,[olx]s(.+)?$/,str:",xs$2#$2"},{exp:/^,x([sb])$/,str:",o$1#,l$1"},{exp:/m,h/g,str:"f"},{exp:/f,w/g,str:"m"},{exp:/,[xol][sb](&\d+)?(,[mf])/g,str:"$2"},{exp:/,[mf],d(&\d+)/,str:",xs$1"},{exp:/,[mf],d&([ol])/,str:",$1s"},{exp:/,[mf],s(&\d+)/,str:",xb$1"},{exp:/,[mf],s&([ol])/,str:",$1b"},{exp:/^(.*,[fh1]|[xol]b(&\d+)?),[mf],s(.*)$/,str:"$1,xb$3#$1$3"},{exp:/^(.*,[mw0]|[xol]s(&\d+)?),[mf],d(.*)$/,str:"$1,xs$3#$1$3"},{exp:/(,[mw0]|[xol]s(&\d+)?),[mf],s/,str:"$1,xb"},{exp:/(,[fh1]|[xol]b(&\d+)?),[mf],d/,str:"$1,xs"},{exp:/^,[mf],s(.+)?$/,str:",xb$1#,1$1"},{exp:/^,[mf],d(.+)?$/,str:",xs$1#,0$1"},{exp:/,[ds](&[ol\d]+)?,[olx]b(&\d+)/g,str:",s$2"},{exp:/,[ds](&[ol\d]+)?,[olx]s(&\d+)/g,str:",d$2"},{exp:/,[ds]&o,ob/g,str:",s&o"},{exp:/,[ds]&o,os/g,str:",d&o"},{exp:/,[ds]&l,lb/g,str:",s&l"},{exp:/,[ds]&l,ls/g,str:",d&l"},{exp:/,[ds](&[ol\d]+)?,[olx]s(&\d+)?/g,str:",d$2"},{exp:/,[ds](&[ol\d]+)?,[olx]b(&\d+)?/g,str:",s$2"},{exp:/(,[mwd0]|,[olx]s)(&[ol\d]+)?,[ds](&[ol\d]+)?,m/g,str:"$1"},{exp:/(,[mwd0]|,[olx]s)(&[ol\d]+)?,[ds](&[ol\d]+)?,f/g,str:"$1,h"},{exp:/(,[fhs1]|,[olx]b)(&[ol\d]+)?,[ds](&[ol\d]+)?,f/g,str:"$1"},{exp:/(,[fhs1]|,[olx]b)(&[ol\d]+)?,[ds](&[ol\d]+)?,m/g,str:"$1,w"},{exp:/^,[ds],m(.+)?$/,str:",w$1#$1"},{exp:/^,[ds],f(.+)?$/,str:",h$1#$1"},{exp:/,[wh](,[ds])/g,str:"$1"},{exp:/,w,h|,h,w/g,str:""},{exp:/(.+)?\[([^\|]+?)\|([^\[\]]*\|[^\[\]]*)\](.+)?/g,str:"$1$2$4#$1[$3]$4"},{exp:/(.+)?\[([^\[\]\|]+?)\|([^\[\]\|]+?)?\](.+)?/g,str:"$1$2$4#$1$3$4"}],d={"":["自己","我","俺","吾","本人","在下"],"[f,f|f,m|m,f],[f,m],f":["老太奶爷","祖太奶爷"],"[f,f|f,m|m,f],[f,m],m":["老太奶奶","祖太奶奶"],"[f,m|m,f|m,m],[f,m],f":["老太姥爷","祖太姥爷"],"[f,m|m,f|m,m],[f,m],m":["老太姥姥","祖太姥姥"],"[f|m],[f|m],f":["太老爷"],"[f|m],[f|m],f,ob":["伯太老爷"],"[f|m],[f|m],f,ob,w":["伯太老姥"],"[f|m],[f|m],f,lb":["叔太老爷"],"[f|m],[f|m],f,lb,w":["叔太老姥"],"[f|m],[f|m],f,xs":["姑太老姥"],"[f|m],[f|m],f,xs,h":["姑太老爷"],"[f|m],[f|m],m":["太老姥"],"[f|m],[f|m],m,xb":["舅太老爷"],"[f|m],[f|m],m,xb,w":["舅太老姥"],"[f|m],[f|m],m,xs":["姨太老姥"],"[f|m],[f|m],m,xs,h":["姨太老爷"],"[f,f|f,m|m,f],f":["太奶爷","祖奶爷"],"[f,f|f,m|m,f],f,ob":["伯太奶爷","太伯奶爷"],"[f,f|f,m|m,f],f,ob,w":["伯太奶奶","太伯奶奶"],"[f,f|f,m|m,f],f,lb":["叔太奶爷","太叔奶爷"],"[f,f|f,m|m,f],f,lb,w":["叔太奶奶","太叔奶奶"],"[f,f|f,m|m,f],f,xs":["姑太奶奶","太姑奶奶"],"[f,f|f,m|m,f],f,xs,h":["姑太奶爷","太姑奶爷"],"[f,f|f,m|m,f],m":["太奶奶","祖奶奶"],"[f,f|f,m|m,f],m,xb":["舅太奶爷","太舅奶爷"],"[f,f|f,m|m,f],m,xb,w":["舅太奶奶","太舅奶奶"],"[f,f|f,m|m,f],m,xs":["姨太奶奶","太姨奶奶"],"[f,f|f,m|m,f],m,xs,h":["姨太奶爷","太姨奶爷"],"[f,m|m,f|m,m],f":["太姥爷","祖姥爷","太毑爷"],"[f,m|m,f|m,m],f,ob":["伯太姥爷","伯叔姥爷"],"[f,m|m,f|m,m],f,ob,w":["伯太姥姥","太伯姥姥"],"[f,m|m,f|m,m],f,lb":["叔太姥爷","太叔姥爷"],"[f,m|m,f|m,m],f,lb,w":["叔太姥姥","太叔姥姥"],"[f,m|m,f|m,m],f,xs":["姑太姥姥","太姑姥姥"],"[f,m|m,f|m,m],f,xs,h":["姑太姥爷","太姑姥爷"],"[f,m|m,f|m,m],m":["太姥姥","祖姥姥","太毑毑","太姥"],"[f,m|m,f|m,m],m,xb":["舅太姥爷","太舅姥爷"],"[f,m|m,f|m,m],m,xb,w":["舅太姥姥","太舅姥姥"],"[f,m|m,f|m,m],m,xs":["姨太姥姥","太姨姥姥"],"[f,m|m,f|m,m],m,xs,h":["姨太姥爷","太姨姥爷"],"[f|m],[f|m],[f|m]":["曾祖辈","祖祖","老太"],"[f|m],[f|m]":["祖辈"],"[f|m],f":["老爷"],"[f|m],f,ob":["伯老爷"],"[f|m],f,ob,w":["伯老姥"],"[f|m],f,lb":["叔老爷"],"[f|m],f,lb,w":["叔老姥"],"[f|m],f,xs":["姑老姥"],"[f|m],f,xs,h":["姑老爷"],"[f|m],m":["老姥"],"[f|m],m,xb":["舅老爷"],"[f|m],m,xb,w":["舅老姥"],"[f|m],m,xs":["姨老姥"],"[f|m],m,xs,h":["姨老爷"],"f,f,[f|m]":["曾祖父母"],"f,f,[f,xs|m,xb],s":["舅姑爷爷","舅姑爷"],"f,[f|mLine truncated
+1 -1
View File
@@ -10,4 +10,4 @@
* *
* Create on: 2022-09-08 * Create on: 2022-09-08
*/ */
!function(s,f){"object"==typeof exports&&"object"==typeof module?module.exports=f():"function"==typeof define&&define.amd?define([],f):"object"==typeof exports?exports.relationship=f():s.relationship=f()}(this,(()=>(()=>{"use strict";var s={d:(f,x)=>{for(var d in x)s.o(x,d)&&!s.o(f,d)&&Object.defineProperty(f,d,{enumerable:!0,get:x[d]})},o:(s,f)=>Object.prototype.hasOwnProperty.call(s,f)},f={};s.d(f,{default:()=>A});const x=[{exp:/^(.+)&o([^#]+)&l/g,str:"$1$2"},{exp:/^(.+)&l([^#]+)&o/g,str:"$1$2"},{exp:/^(.+)?,o([sb](&\d+)?)([^#]+)&l/g,str:"$1,x$2$4"},{exp:/^(.+)?,l([sb](&\d+)?)([^#]+)&o/g,str:"$1,x$2$4"},{exp:/(,o[sb](&\d+)?)+(,o[sb])(&\d+)?/,str:"$3$4"},{exp:/(,l[sb](&\d+)?)+(,l[sb])(&\d+)?/,str:"$3$4"},{exp:/^(.*,[fh1])(,[olx][sb](&\d+)?)+,[olx]b(.*)$/,str:"$1,xb$4#$1$4"},{exp:/^(.*,[mw0])(,[olx][sb](&\d+)?)+,[olx]s(.*)$/,str:"$1,xs$4#$1$4"},{exp:/(,[fh1])(,[olx][sb](&\d+)?)+,[olx]s/g,str:"$1,xs"},{exp:/(,[mw0])(,[olx][sb](&\d+)?)+,[olx]b/g,str:"$1,xb"},{exp:/^,[olx][sb](&\d+)?,[olx]b(.+)?$/,str:",xb$2#$2"},{exp:/^,[olx][sb](&\d+)?,[olx]s(.+)?$/,str:",xs$2#$2"},{exp:/^,x([sb])$/,str:",o$1#,l$1"},{exp:/m,h/g,str:"f"},{exp:/f,w/g,str:"m"},{exp:/,[xol][sb](&\d+)?(,[mf])/g,str:"$2"},{exp:/,[mf],d(&\d+)/,str:",xs$1"},{exp:/,[mf],d&([ol])/,str:",$1s"},{exp:/,[mf],s(&\d+)/,str:",xb$1"},{exp:/,[mf],s&([ol])/,str:",$1b"},{exp:/^(.*,[fh1]|[xol]b(&\d+)?),[mf],s(.*)$/,str:"$1,xb$3#$1$3"},{exp:/^(.*,[mw0]|[xol]s(&\d+)?),[mf],d(.*)$/,str:"$1,xs$3#$1$3"},{exp:/(,[mw0]|[xol]s(&\d+)?),[mf],s/,str:"$1,xb"},{exp:/(,[fh1]|[xol]b(&\d+)?),[mf],d/,str:"$1,xs"},{exp:/^,[mf],s(.+)?$/,str:",xb$1#,1$1"},{exp:/^,[mf],d(.+)?$/,str:",xs$1#,0$1"},{exp:/,[ds](&[ol\d]+)?,[olx]b(&\d+)/g,str:",s$2"},{exp:/,[ds](&[ol\d]+)?,[olx]s(&\d+)/g,str:",d$2"},{exp:/,[ds]&o,ob/g,str:",s&o"},{exp:/,[ds]&o,os/g,str:",d&o"},{exp:/,[ds]&l,lb/g,str:",s&l"},{exp:/,[ds]&l,ls/g,str:",d&l"},{exp:/,[ds](&[ol\d]+)?,[olx]s(&\d+)?/g,str:",d$2"},{exp:/,[ds](&[ol\d]+)?,[olx]b(&\d+)?/g,str:",s$2"},{exp:/(,[mwd0]|,[olx]s)(&[ol\d]+)?,[ds](&[ol\d]+)?,m/g,str:"$1"},{exp:/(,[mwd0]|,[olx]s)(&[ol\d]+)?,[ds](&[ol\d]+)?,f/g,str:"$1,h"},{exp:/(,[fhs1]|,[olx]b)(&[ol\d]+)?,[ds](&[ol\d]+)?,f/g,str:"$1"},{exp:/(,[fhs1]|,[olx]b)(&[ol\d]+)?,[ds](&[ol\d]+)?,m/g,str:"$1,w"},{exp:/^,[ds],m(.+)?$/,str:",w$1#$1"},{exp:/^,[ds],f(.+)?$/,str:",h$1#$1"},{exp:/,[wh](,[ds])/g,str:"$1"},{exp:/,w,h|,h,w/g,str:""},{exp:/(.+)?\[([^\|]+?)\|([^\[\]]*\|[^\[\]]*)\](.+)?/g,str:"$1$2$4#$1[$3]$4"},{exp:/(.+)?\[([^\[\]\|]+?)\|([^\[\]\|]+?)?\](.+)?/g,str:"$1$2$4#$1$3$4"}],d={"":["自己","我","俺","吾","本人","在下"],"[f,f|f,m|m,f],[f,m],f":["老太奶爺","祖太奶爺"],"[f,f|f,m|m,f],[f,m],m":["老太奶奶","祖太奶奶"],"[f,m|m,f|m,m],[f,m],f":["老太姥爺","祖太姥爺"],"[f,m|m,f|m,m],[f,m],m":["老太姥姥","祖太姥姥"],"[f|m],[f|m],f":["太老爺"],"[f|m],[f|m],f,ob":["伯太老爺"],"[f|m],[f|m],f,ob,w":["伯太老姥"],"[f|m],[f|m],f,lb":["叔太老爺"],"[f|m],[f|m],f,lb,w":["叔太老姥"],"[f|m],[f|m],f,xs":["姑太老姥"],"[f|m],[f|m],f,xs,h":["姑太老爺"],"[f|m],[f|m],m":["太老姥"],"[f|m],[f|m],m,xb":["舅太老爺"],"[f|m],[f|m],m,xb,w":["舅太老姥"],"[f|m],[f|m],m,xs":["姨太老姥"],"[f|m],[f|m],m,xs,h":["姨太老爺"],"[f,f|f,m|m,f],f":["太奶爺","祖奶爺"],"[f,f|f,m|m,f],f,ob":["伯太奶爺","太伯奶爺"],"[f,f|f,m|m,f],f,ob,w":["伯太奶奶","太伯奶奶"],"[f,f|f,m|m,f],f,lb":["叔太奶爺","太叔奶爺"],"[f,f|f,m|m,f],f,lb,w":["叔太奶奶","太叔奶奶"],"[f,f|f,m|m,f],f,xs":["姑太奶奶","太姑奶奶"],"[f,f|f,m|m,f],f,xs,h":["姑太奶爺","太姑奶爺"],"[f,f|f,m|m,f],m":["太奶奶","祖奶奶"],"[f,f|f,m|m,f],m,xb":["舅太奶爺","太舅奶爺"],"[f,f|f,m|m,f],m,xb,w":["舅太奶奶","太舅奶奶"],"[f,f|f,m|m,f],m,xs":["姨太奶奶","太姨奶奶"],"[f,f|f,m|m,f],m,xs,h":["姨太奶爺","太姨奶爺"],"[f,m|m,f|m,m],f":["太姥爺","祖姥爺","太毑爺"],"[f,m|m,f|m,m],f,ob":["伯太姥爺","伯叔姥爺"],"[f,m|m,f|m,m],f,ob,w":["伯太姥姥","太伯姥姥"],"[f,m|m,f|m,m],f,lb":["叔太姥爺","太叔姥爺"],"[f,m|m,f|m,m],f,lb,w":["叔太姥姥","太叔姥姥"],"[f,m|m,f|m,m],f,xs":["姑太姥姥","太姑姥姥"],"[f,m|m,f|m,m],f,xs,h":["姑太姥爺","太姑姥爺"],"[f,m|m,f|m,m],m":["太姥姥","祖姥姥","太毑毑","太姥"],"[f,m|m,f|m,m],m,xb":["舅太姥爺","太舅姥爺"],"[f,m|m,f|m,m],m,xb,w":["舅太姥姥","太舅姥姥"],"[f,m|m,f|m,m],m,xs":["姨太姥姥","太姨姥姥"],"[f,m|m,f|m,m],m,xs,h":["姨太姥爺","太姨姥爺"],"[f|m],[f|m],[f|m]":["曾祖輩","祖祖","老太"],"[f|m],[f|m]":["祖輩"],"[f|m],f":["老爺"],"[f|m],f,ob":["伯老爺"],"[f|m],f,ob,w":["伯老姥"],"[f|m],f,lb":["叔老爺"],"[f|m],f,lb,w":["叔老姥"],"[f|m],f,xs":["姑老姥"],"[f|m],f,xs,h":["姑老爺"],"[f|m],m":["老姥"],"[f|m],m,xb":["舅老爺"],"[f|m],m,xb,w":["舅老姥"],"[f|m],m,xs":["姨老姥"],"[f|m],m,xs,h":["姨老爺"],"f,f,[f|m]":["曾祖父母"],"f,f,[f,xs|m,xb],s":["舅姑爺爺","舅姑爺"],"f,[f|mLine truncated !function(s,f){"object"==typeof exports&&"object"==typeof module?module.exports=f():"function"==typeof define&&define.amd?define([],f):"object"==typeof exports?exports.relationship=f():s.relationship=f()}(this,(()=>(()=>{"use strict";var s={d:(f,x)=>{for(var d in x)s.o(x,d)&&!s.o(f,d)&&Object.defineProperty(f,d,{enumerable:!0,get:x[d]})},o:(s,f)=>Object.prototype.hasOwnProperty.call(s,f)},f={};s.d(f,{default:()=>A});const x=[{exp:/^(.+)&o([^#]+)&l/g,str:"$1$2"},{exp:/^(.+)&l([^#]+)&o/g,str:"$1$2"},{exp:/^(.+)?,o([sb](&\d+)?)([^#]+)&l/g,str:"$1,x$2$4"},{exp:/^(.+)?,l([sb](&\d+)?)([^#]+)&o/g,str:"$1,x$2$4"},{exp:/(,o[sb](&\d+)?)+(,o[sb])(&\d+)?/,str:"$3$4"},{exp:/(,l[sb](&\d+)?)+(,l[sb])(&\d+)?/,str:"$3$4"},{exp:/^(.*,[fh1])(,[olx][sb](&\d+)?)+,[olx]b(.*)$/,str:"$1,xb$4#$1$4"},{exp:/^(.*,[mw0])(,[olx][sb](&\d+)?)+,[olx]s(.*)$/,str:"$1,xs$4#$1$4"},{exp:/(,[fh1])(,[olx][sb](&\d+)?)+,[olx]s/g,str:"$1,xs"},{exp:/(,[mw0])(,[olx][sb](&\d+)?)+,[olx]b/g,str:"$1,xb"},{exp:/^,[olx][sb](&\d+)?,[olx]b(.+)?$/,str:",xb$2#$2"},{exp:/^,[olx][sb](&\d+)?,[olx]s(.+)?$/,str:",xs$2#$2"},{exp:/^,x([sb])$/,str:",o$1#,l$1"},{exp:/m,h/g,str:"f"},{exp:/f,w/g,str:"m"},{exp:/,[xol][sb](&\d+)?(,[mf])/g,str:"$2"},{exp:/,[mf],d(&\d+)/,str:",xs$1"},{exp:/,[mf],d&([ol])/,str:",$1s"},{exp:/,[mf],s(&\d+)/,str:",xb$1"},{exp:/,[mf],s&([ol])/,str:",$1b"},{exp:/^(.*,[fh1]|[xol]b(&\d+)?),[mf],s(.*)$/,str:"$1,xb$3#$1$3"},{exp:/^(.*,[mw0]|[xol]s(&\d+)?),[mf],d(.*)$/,str:"$1,xs$3#$1$3"},{exp:/(,[mw0]|[xol]s(&\d+)?),[mf],s/,str:"$1,xb"},{exp:/(,[fh1]|[xol]b(&\d+)?),[mf],d/,str:"$1,xs"},{exp:/^,[mf],s(.+)?$/,str:",xb$1#,1$1"},{exp:/^,[mf],d(.+)?$/,str:",xs$1#,0$1"},{exp:/,[ds](&[ol\d]+)?,[olx]b(&\d+)/g,str:",s$2"},{exp:/,[ds](&[ol\d]+)?,[olx]s(&\d+)/g,str:",d$2"},{exp:/,[ds]&o,ob/g,str:",s&o"},{exp:/,[ds]&o,os/g,str:",d&o"},{exp:/,[ds]&l,lb/g,str:",s&l"},{exp:/,[ds]&l,ls/g,str:",d&l"},{exp:/,[ds](&[ol\d]+)?,[olx]s(&\d+)?/g,str:",d$2"},{exp:/,[ds](&[ol\d]+)?,[olx]b(&\d+)?/g,str:",s$2"},{exp:/(,[mwd0]|,[olx]s)(&[ol\d]+)?,[ds](&[ol\d]+)?,m/g,str:"$1"},{exp:/(,[mwd0]|,[olx]s)(&[ol\d]+)?,[ds](&[ol\d]+)?,f/g,str:"$1,h"},{exp:/(,[fhs1]|,[olx]b)(&[ol\d]+)?,[ds](&[ol\d]+)?,f/g,str:"$1"},{exp:/(,[fhs1]|,[olx]b)(&[ol\d]+)?,[ds](&[ol\d]+)?,m/g,str:"$1,w"},{exp:/^,[ds],m(.+)?$/,str:",w$1#$1"},{exp:/^,[ds],f(.+)?$/,str:",h$1#$1"},{exp:/,[wh](,[ds])/g,str:"$1"},{exp:/,w,h|,h,w/g,str:""},{exp:/(.+)?\[([^\|]+?)\|([^\[\]]*\|[^\[\]]*)\](.+)?/g,str:"$1$2$4#$1[$3]$4"},{exp:/(.+)?\[([^\[\]\|]+?)\|([^\[\]\|]+?)?\](.+)?/g,str:"$1$2$4#$1$3$4"}],d={"":["自己","我","俺","吾","本人","在下"],"[f,f|f,m|m,f],[f,m],f":["老太奶爺","祖太奶爺"],"[f,f|f,m|m,f],[f,m],m":["老太奶奶","祖太奶奶"],"[f,m|m,f|m,m],[f,m],f":["老太姥爺","祖太姥爺"],"[f,m|m,f|m,m],[f,m],m":["老太姥姥","祖太姥姥"],"[f|m],[f|m],f":["太老爺"],"[f|m],[f|m],f,ob":["伯太老爺"],"[f|m],[f|m],f,ob,w":["伯太老姥"],"[f|m],[f|m],f,lb":["叔太老爺"],"[f|m],[f|m],f,lb,w":["叔太老姥"],"[f|m],[f|m],f,xs":["姑太老姥"],"[f|m],[f|m],f,xs,h":["姑太老爺"],"[f|m],[f|m],m":["太老姥"],"[f|m],[f|m],m,xb":["舅太老爺"],"[f|m],[f|m],m,xb,w":["舅太老姥"],"[f|m],[f|m],m,xs":["姨太老姥"],"[f|m],[f|m],m,xs,h":["姨太老爺"],"[f,f|f,m|m,f],f":["太奶爺","祖奶爺"],"[f,f|f,m|m,f],f,ob":["伯太奶爺","太伯奶爺"],"[f,f|f,m|m,f],f,ob,w":["伯太奶奶","太伯奶奶"],"[f,f|f,m|m,f],f,lb":["叔太奶爺","太叔奶爺"],"[f,f|f,m|m,f],f,lb,w":["叔太奶奶","太叔奶奶"],"[f,f|f,m|m,f],f,xs":["姑太奶奶","太姑奶奶"],"[f,f|f,m|m,f],f,xs,h":["姑太奶爺","太姑奶爺"],"[f,f|f,m|m,f],m":["太奶奶","祖奶奶"],"[f,f|f,m|m,f],m,xb":["舅太奶爺","太舅奶爺"],"[f,f|f,m|m,f],m,xb,w":["舅太奶奶","太舅奶奶"],"[f,f|f,m|m,f],m,xs":["姨太奶奶","太姨奶奶"],"[f,f|f,m|m,f],m,xs,h":["姨太奶爺","太姨奶爺"],"[f,m|m,f|m,m],f":["太姥爺","祖姥爺","太毑爺"],"[f,m|m,f|m,m],f,ob":["伯太姥爺","伯叔姥爺"],"[f,m|m,f|m,m],f,ob,w":["伯太姥姥","太伯姥姥"],"[f,m|m,f|m,m],f,lb":["叔太姥爺","太叔姥爺"],"[f,m|m,f|m,m],f,lb,w":["叔太姥姥","太叔姥姥"],"[f,m|m,f|m,m],f,xs":["姑太姥姥","太姑姥姥"],"[f,m|m,f|m,m],f,xs,h":["姑太姥爺","太姑姥爺"],"[f,m|m,f|m,m],m":["太姥姥","祖姥姥","太毑毑","太姥"],"[f,m|m,f|m,m],m,xb":["舅太姥爺","太舅姥爺"],"[f,m|m,f|m,m],m,xb,w":["舅太姥姥","太舅姥姥"],"[f,m|m,f|m,m],m,xs":["姨太姥姥","太姨姥姥"],"[f,m|m,f|m,m],m,xs,h":["姨太姥爺","太姨姥爺"],"[f|m],[f|m],[f|m]":["曾祖輩","祖祖","老太"],"[f|m],[f|m]":["祖輩"],"[f|m],f":["老爺"],"[f|m],f,ob":["伯老爺"],"[f|m],f,ob,w":["伯老姥"],"[f|m],f,lb":["叔老爺"],"[f|m],f,lb,w":["叔老姥"],"[f|m],f,xs":["姑老姥"],"[f|m],f,xs,h":["姑老爺"],"[f|m],m":["老姥"],"[f|m],m,xb":["舅老爺"],"[f|m],m,xb,w":["舅老姥"],"[f|m],m,xs":["姨老姥"],"[f|m],m,xs,h":["姨老爺"],"f,f,[f|m]":["曾祖父母"],"f,f,[f,xs|m,xb],s":["舅姑爺爺","舅姑爺"],"f,[f|mLine truncated
+13 -1
View File
@@ -104,6 +104,17 @@ var getOptimal = function(options){
from = from_chain.slice(i).join(','); from = from_chain.slice(i).join(',');
to = to_chain.slice(i+1).join(','); to = to_chain.slice(i+1).join(',');
sex = to_chain[i].match(/^([fhs1](&[ol\d]+)?|[olx]b)(&[ol\d]+)?/)?1:0; sex = to_chain[i].match(/^([fhs1](&[ol\d]+)?|[olx]b)(&[ol\d]+)?/)?1:0;
}else if(options['optimal']){
from_match = from_chain[i].match(/([xol])[bs]/);
to_match = to_chain[i].match(/([xol])[bs]/);
from_attr = from_match?from_match[1]:'';
to_attr = to_match?to_match[1]:'';
if(from_attr=='x'||to_attr=='x'){
from = from_chain.slice(i+1).join(',');
to = to_chain.slice(i+1).join(',');
sex = from_chain[i].match(/^([fhs1](&[ol\d]+)?|[olx]b)(&[ol\d]+)?/)?1:0;
continue;
}
} }
} }
break; break;
@@ -310,7 +321,8 @@ export function mergeSelector(param){
var ops = getOptimal({ var ops = getOptimal({
'from':from, 'from':from,
'to':to, 'to':to,
'sex':my_sex 'sex':my_sex,
'optimal':param.optimal
}); });
from = ops['from']; from = ops['from'];
to = ops['to']; to = ops['to'];
+2
View File
@@ -4,6 +4,7 @@ var relationship = require('..');
test('relationship.js show to be tested', function (t) { test('relationship.js show to be tested', function (t) {
// console.log('[test]',relationship({text:'堂哥',target:'叔叔',type:'pair',optimal:true})); // console.log('[test]',relationship({text:'堂哥',target:'叔叔',type:'pair',optimal:true}));
t.deepEqual(relationship({text:'儿子的爸爸的妈妈',sex:1}),['妈妈']); t.deepEqual(relationship({text:'儿子的爸爸的妈妈',sex:1}),['妈妈']);
t.deepEqual(relationship({text:'爱人',sex:1}),['老婆']); t.deepEqual(relationship({text:'爱人',sex:1}),['老婆']);
t.deepEqual(relationship({text:'爱人的爱人',sex:1}),['自己']); t.deepEqual(relationship({text:'爱人的爱人',sex:1}),['自己']);
@@ -37,5 +38,6 @@ test('relationship.js show to be tested', function (t) {
t.deepEqual(relationship({text:'爸爸的二爸'}),['二爷爷']); t.deepEqual(relationship({text:'爸爸的二爸'}),['二爷爷']);
t.deepEqual(relationship({text:'大舅',target:'二舅的儿子'}),['大伯']); t.deepEqual(relationship({text:'大舅',target:'二舅的儿子'}),['大伯']);
t.deepEqual(relationship({text:'堂哥',target:'叔叔',type:'pair'}),['叔侄','父子']); t.deepEqual(relationship({text:'堂哥',target:'叔叔',type:'pair'}),['叔侄','父子']);
t.deepEqual(relationship({text:'堂哥',target:'叔叔',type:'pair',optimal:true}),['父子']);
t.end(); t.end();
}); });