Skip to content

Commit

Permalink
Fix fraction and numberrange wrongly extracted from date and phonenum…
Browse files Browse the repository at this point in the history
…ber (#535)
  • Loading branch information
sanxing-chen authored and tellarin committed May 9, 2018
1 parent 7dd3a81 commit 3520405
Show file tree
Hide file tree
Showing 7 changed files with 127 additions and 48 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ public static class NumbersDefinitions
public static readonly string OrdinalRoundNumberRegex = $@"(?<!(a|an)\s+){RoundNumberOrdinalRegex}";
public static readonly string OrdinalEnglishRegex = $@"(?<=\b){AllOrdinalRegex}(?=\b)";
public const string FractionNotationWithSpacesRegex = @"(((?<=\W|^)-\s*)|(?<=\b))\d+\s+\d+[/]\d+(?=(\b[^/]|$))";
public const string FractionNotationRegex = @"(((?<=\W|^)-\s*)|(?<=\b))\d+[/]\d+(?=(\b[^/]|$))";
public const string FractionNotationRegex = @"(((?<=\W|^)-\s*)|(?<![/-])(?<=\b))\d+[/]\d+(?=(\b[^/]|$))";
public static readonly string FractionNounRegex = $@"(?<=\b)({AllIntRegex}\s+(and\s+)?)?({AllIntRegex})(\s+|\s*-\s*)((({AllOrdinalRegex})|({RoundNumberOrdinalRegex}))s|halves|quarters)(?=\b)";
public static readonly string FractionNounWithArticleRegex = $@"(?<=\b)({AllIntRegex}\s+(and\s+)?)?(a|an|one)(\s+|\s*-\s*)(?!\bfirst\b|\bsecond\b)(({AllOrdinalRegex})|({RoundNumberOrdinalRegex})|half|quarter)(?=\b)";
public static readonly string FractionPrepositionRegex = $@"(?<=\b)(?<numerator>({AllIntRegex})|((?<!\.)\d+))\s+(over|in|out\s+of)\s+(?<denominator>({AllIntRegex})|(\d+)(?!\.))(?=\b)";
Expand All @@ -72,15 +72,16 @@ public static class NumbersDefinitions
public const string MoreOrEqualSuffix = @"(and|or)\s+(more|greater|higher|larger|bigger)(?!\s+than)";
public static readonly string LessOrEqual = $@"(({LessRegex}\s+or\s+{EqualRegex})|at\s+most|no\s+{MoreRegex}|<\s*=)";
public const string LessOrEqualSuffix = @"(and|or)\s+(less|lower|smaller|fewer)(?!\s+than)";
public static readonly string OneNumberRangeMoreRegex1 = $@"({MoreOrEqual}|{MoreRegex})\s*(the\s+)?(?<number1>((?!((\.(?!\d+))|(,(?!\d+)))).)+)";
public static readonly string OneNumberRangeMoreRegex2 = $@"(?<number1>((?!((\.(?!\d+))|(,(?!\d+)))).)+)\s*{MoreOrEqualSuffix}";
public static readonly string OneNumberRangeLessRegex1 = $@"({LessOrEqual}|{LessRegex})\s*(the\s+)?(?<number2>((?!((\.(?!\d+))|(,(?!\d+)))).)+)";
public static readonly string OneNumberRangeLessRegex2 = $@"(?<number2>((?!((\.(?!\d+))|(,(?!\d+)))).)+)\s*{LessOrEqualSuffix}";
public static readonly string OneNumberRangeEqualRegex = $@"{EqualRegex}\s*(the\s+)?(?<number1>((?!((\.(?!\d+))|(,(?!\d+)))).)+)";
public static readonly string TwoNumberRangeRegex1 = $@"between\s*(the\s+)?(?<number1>((?!((\.(?!\d+))|(,(?!\d+)))).)+)\s*and\s*(the\s+)?(?<number2>((?!((\.(?!\d+))|(,(?!\d+)))).)+)";
public const string NumberSplitMark = @"(?![,.](?!\d+))";
public static readonly string OneNumberRangeMoreRegex1 = $@"({MoreOrEqual}|{MoreRegex})\s*(the\s+)?(?<number1>({NumberSplitMark}.)+)";
public static readonly string OneNumberRangeMoreRegex2 = $@"(?<number1>({NumberSplitMark}.)+)\s*{MoreOrEqualSuffix}";
public static readonly string OneNumberRangeLessRegex1 = $@"({LessOrEqual}|{LessRegex})\s*(the\s+)?(?<number2>({NumberSplitMark}.)+)";
public static readonly string OneNumberRangeLessRegex2 = $@"(?<number2>({NumberSplitMark}.)+)\s*{LessOrEqualSuffix}";
public static readonly string OneNumberRangeEqualRegex = $@"{EqualRegex}\s*(the\s+)?(?<number1>({NumberSplitMark}.)+)";
public static readonly string TwoNumberRangeRegex1 = $@"between\s*(the\s+)?(?<number1>({NumberSplitMark}.)+)\s*and\s*(the\s+)?(?<number2>({NumberSplitMark}.)+)";
public static readonly string TwoNumberRangeRegex2 = $@"({OneNumberRangeMoreRegex1}|{OneNumberRangeMoreRegex2})\s*(and|but|,)\s*({OneNumberRangeLessRegex1}|{OneNumberRangeLessRegex2})";
public static readonly string TwoNumberRangeRegex3 = $@"({OneNumberRangeLessRegex1}|{OneNumberRangeLessRegex2})\s*(and|but|,)\s*({OneNumberRangeMoreRegex1}|{OneNumberRangeMoreRegex2})";
public static readonly string TwoNumberRangeRegex4 = $@"(from\s+)?(?<number1>((?!((\.(?!\d+))|(,(?!\d+))|\bfrom\b)).)+)\s*{TillRegex}\s*(the\s+)?(?<number2>((?!((\.(?!\d+))|(,(?!\d+)))).)+)";
public static readonly string TwoNumberRangeRegex4 = $@"(from\s+)?(?<number1>({NumberSplitMark}(?!\bfrom\b).)+)\s*{TillRegex}\s*(the\s+)?(?<number2>({NumberSplitMark}.)+)";
public const char DecimalSeparatorChar = '.';
public const string FractionMarkerToken = "over";
public const char NonDecimalSeparatorChar = ',';
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -121,9 +121,12 @@ private void GetMatchedStartAndLength(Match match, string type, string source, o
{
return;
}

extractNumList1.RemoveRange(1, extractNumList1.Count - 1);
extractNumList2.RemoveRange(1, extractNumList2.Count - 1);
}

bool validNum1 = false, validNum2 = false;
bool validNum1, validNum2;
start = match.Index;
length = match.Length;

Expand Down Expand Up @@ -197,17 +200,15 @@ private List<ExtractResult> ExtractNumberAndOrdinalFromStr(string numberStr)
{
return extractOrdinal.Count == 0 ? null : extractOrdinal;
}
else
{
if (extractOrdinal.Count == 0)
{
return extractNumber;
}

extractNumber.AddRange(extractOrdinal);
extractNumber = extractNumber.OrderBy(num => num.Start).ThenByDescending(num => num.Length).ToList();
if (extractOrdinal.Count == 0)
{
return extractNumber;
}

extractNumber.AddRange(extractOrdinal);
extractNumber = extractNumber.OrderByDescending(num => num.Length).ThenByDescending(num => num.Start).ToList();
return extractNumber;
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ export namespace EnglishNumeric {
export const OrdinalRoundNumberRegex = `(?<!(a|an)\\s+)${RoundNumberOrdinalRegex}`;
export const OrdinalEnglishRegex = `(?<=\\b)${AllOrdinalRegex}(?=\\b)`;
export const FractionNotationWithSpacesRegex = `(((?<=\\W|^)-\\s*)|(?<=\\b))\\d+\\s+\\d+[/]\\d+(?=(\\b[^/]|$))`;
export const FractionNotationRegex = `(((?<=\\W|^)-\\s*)|(?<=\\b))\\d+[/]\\d+(?=(\\b[^/]|$))`;
export const FractionNotationRegex = `(((?<=\\W|^)-\\s*)|(?<![/-])(?<=\\b))\\d+[/]\\d+(?=(\\b[^/]|$))`;
export const FractionNounRegex = `(?<=\\b)(${AllIntRegex}\\s+(and\\s+)?)?(${AllIntRegex})(\\s+|\\s*-\\s*)(((${AllOrdinalRegex})|(${RoundNumberOrdinalRegex}))s|halves|quarters)(?=\\b)`;
export const FractionNounWithArticleRegex = `(?<=\\b)(${AllIntRegex}\\s+(and\\s+)?)?(a|an|one)(\\s+|\\s*-\\s*)(?!\\bfirst\\b|\\bsecond\\b)((${AllOrdinalRegex})|(${RoundNumberOrdinalRegex})|half|quarter)(?=\\b)`;
export const FractionPrepositionRegex = `(?<=\\b)(?<numerator>(${AllIntRegex})|((?<!\\.)\\d+))\\s+(over|in|out\\s+of)\\s+(?<denominator>(${AllIntRegex})|(\\d+)(?!\\.))(?=\\b)`;
Expand All @@ -63,15 +63,16 @@ export namespace EnglishNumeric {
export const MoreOrEqualSuffix = `(and|or)\\s+(more|greater|higher|larger|bigger)(?!\\s+than)`;
export const LessOrEqual = `((${LessRegex}\\s+or\\s+${EqualRegex})|at\\s+most|no\\s+${MoreRegex}|<\\s*=)`;
export const LessOrEqualSuffix = `(and|or)\\s+(less|lower|smaller|fewer)(?!\\s+than)`;
export const OneNumberRangeMoreRegex1 = `(${MoreOrEqual}|${MoreRegex})\\s*(the\\s+)?(?<number1>((?!((\\.(?!\\d+))|(,(?!\\d+)))).)+)`;
export const OneNumberRangeMoreRegex2 = `(?<number1>((?!((\\.(?!\\d+))|(,(?!\\d+)))).)+)\\s*${MoreOrEqualSuffix}`;
export const OneNumberRangeLessRegex1 = `(${LessOrEqual}|${LessRegex})\\s*(the\\s+)?(?<number2>((?!((\\.(?!\\d+))|(,(?!\\d+)))).)+)`;
export const OneNumberRangeLessRegex2 = `(?<number2>((?!((\\.(?!\\d+))|(,(?!\\d+)))).)+)\\s*${LessOrEqualSuffix}`;
export const OneNumberRangeEqualRegex = `${EqualRegex}\\s*(the\\s+)?(?<number1>((?!((\\.(?!\\d+))|(,(?!\\d+)))).)+)`;
export const TwoNumberRangeRegex1 = `between\\s*(the\\s+)?(?<number1>((?!((\\.(?!\\d+))|(,(?!\\d+)))).)+)\\s*and\\s*(the\\s+)?(?<number2>((?!((\\.(?!\\d+))|(,(?!\\d+)))).)+)`;
export const NumberSplitMark = `(?![,.](?!\\d+))`;
export const OneNumberRangeMoreRegex1 = `(${MoreOrEqual}|${MoreRegex})\\s*(the\\s+)?(?<number1>(${NumberSplitMark}.)+)`;
export const OneNumberRangeMoreRegex2 = `(?<number1>(${NumberSplitMark}.)+)\\s*${MoreOrEqualSuffix}`;
export const OneNumberRangeLessRegex1 = `(${LessOrEqual}|${LessRegex})\\s*(the\\s+)?(?<number2>(${NumberSplitMark}.)+)`;
export const OneNumberRangeLessRegex2 = `(?<number2>(${NumberSplitMark}.)+)\\s*${LessOrEqualSuffix}`;
export const OneNumberRangeEqualRegex = `${EqualRegex}\\s*(the\\s+)?(?<number1>(${NumberSplitMark}.)+)`;
export const TwoNumberRangeRegex1 = `between\\s*(the\\s+)?(?<number1>(${NumberSplitMark}.)+)\\s*and\\s*(the\\s+)?(?<number2>(${NumberSplitMark}.)+)`;
export const TwoNumberRangeRegex2 = `(${OneNumberRangeMoreRegex1}|${OneNumberRangeMoreRegex2})\\s*(and|but|,)\\s*(${OneNumberRangeLessRegex1}|${OneNumberRangeLessRegex2})`;
export const TwoNumberRangeRegex3 = `(${OneNumberRangeLessRegex1}|${OneNumberRangeLessRegex2})\\s*(and|but|,)\\s*(${OneNumberRangeMoreRegex1}|${OneNumberRangeMoreRegex2})`;
export const TwoNumberRangeRegex4 = `(from\\s+)?(?<number1>((?!((\\.(?!\\d+))|(,(?!\\d+))|\\bfrom\\b)).)+)\\s*${TillRegex}\\s*(the\\s+)?(?<number2>((?!((\\.(?!\\d+))|(,(?!\\d+)))).)+)`;
export const TwoNumberRangeRegex4 = `(from\\s+)?(?<number1>(${NumberSplitMark}(?!\\bfrom\\b).)+)\\s*${TillRegex}\\s*(the\\s+)?(?<number2>(${NumberSplitMark}.)+)`;
export const DecimalSeparatorChar = '.';
export const FractionMarkerToken = 'over';
export const NonDecimalSeparatorChar = ',';
Expand Down
32 changes: 17 additions & 15 deletions Patterns/English/English-Numbers.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ OrdinalEnglishRegex: !nestedRegex
FractionNotationWithSpacesRegex: !simpleRegex
def: (((?<=\W|^)-\s*)|(?<=\b))\d+\s+\d+[/]\d+(?=(\b[^/]|$))
FractionNotationRegex: !simpleRegex
def: (((?<=\W|^)-\s*)|(?<=\b))\d+[/]\d+(?=(\b[^/]|$))
def: (((?<=\W|^)-\s*)|(?<![/-])(?<=\b))\d+[/]\d+(?=(\b[^/]|$))
FractionNounRegex: !nestedRegex
def: (?<=\b)({AllIntRegex}\s+(and\s+)?)?({AllIntRegex})(\s+|\s*-\s*)((({AllOrdinalRegex})|({RoundNumberOrdinalRegex}))s|halves|quarters)(?=\b)
references: [ AllIntRegex, AllOrdinalRegex, RoundNumberOrdinalRegex ]
Expand Down Expand Up @@ -143,33 +143,35 @@ LessOrEqual: !nestedRegex
references: [ LessRegex, EqualRegex, MoreRegex ]
LessOrEqualSuffix: !simpleRegex
def: (and|or)\s+(less|lower|smaller|fewer)(?!\s+than)
NumberSplitMark: !simpleRegex
def: (?![,.](?!\d+))
OneNumberRangeMoreRegex1: !nestedRegex
def: ({MoreOrEqual}|{MoreRegex})\s*(the\s+)?(?<number1>((?!((\.(?!\d+))|(,(?!\d+)))).)+)
references: [ MoreOrEqual, MoreRegex ]
def: ({MoreOrEqual}|{MoreRegex})\s*(the\s+)?(?<number1>({NumberSplitMark}.)+)
references: [ MoreOrEqual, MoreRegex, NumberSplitMark ]
OneNumberRangeMoreRegex2: !nestedRegex
def: (?<number1>((?!((\.(?!\d+))|(,(?!\d+)))).)+)\s*{MoreOrEqualSuffix}
references: [ MoreOrEqualSuffix ]
def: (?<number1>({NumberSplitMark}.)+)\s*{MoreOrEqualSuffix}
references: [ MoreOrEqualSuffix, NumberSplitMark ]
OneNumberRangeLessRegex1: !nestedRegex
def: ({LessOrEqual}|{LessRegex})\s*(the\s+)?(?<number2>((?!((\.(?!\d+))|(,(?!\d+)))).)+)
references: [ LessOrEqual, LessRegex ]
def: ({LessOrEqual}|{LessRegex})\s*(the\s+)?(?<number2>({NumberSplitMark}.)+)
references: [ LessOrEqual, LessRegex, NumberSplitMark ]
OneNumberRangeLessRegex2: !nestedRegex
def: (?<number2>((?!((\.(?!\d+))|(,(?!\d+)))).)+)\s*{LessOrEqualSuffix}
references: [ LessOrEqualSuffix ]
def: (?<number2>({NumberSplitMark}.)+)\s*{LessOrEqualSuffix}
references: [ LessOrEqualSuffix, NumberSplitMark ]
OneNumberRangeEqualRegex: !nestedRegex
def: '{EqualRegex}\s*(the\s+)?(?<number1>((?!((\.(?!\d+))|(,(?!\d+)))).)+)'
references: [ EqualRegex ]
def: '{EqualRegex}\s*(the\s+)?(?<number1>({NumberSplitMark}.)+)'
references: [ EqualRegex, NumberSplitMark ]
TwoNumberRangeRegex1: !nestedRegex
def: between\s*(the\s+)?(?<number1>((?!((\.(?!\d+))|(,(?!\d+)))).)+)\s*and\s*(the\s+)?(?<number2>((?!((\.(?!\d+))|(,(?!\d+)))).)+)
references: [ TillRegex ]
def: between\s*(the\s+)?(?<number1>({NumberSplitMark}.)+)\s*and\s*(the\s+)?(?<number2>({NumberSplitMark}.)+)
references: [ NumberSplitMark ]
TwoNumberRangeRegex2: !nestedRegex
def: ({OneNumberRangeMoreRegex1}|{OneNumberRangeMoreRegex2})\s*(and|but|,)\s*({OneNumberRangeLessRegex1}|{OneNumberRangeLessRegex2})
references: [ OneNumberRangeMoreRegex1, OneNumberRangeMoreRegex2, OneNumberRangeLessRegex1, OneNumberRangeLessRegex2 ]
TwoNumberRangeRegex3: !nestedRegex
def: ({OneNumberRangeLessRegex1}|{OneNumberRangeLessRegex2})\s*(and|but|,)\s*({OneNumberRangeMoreRegex1}|{OneNumberRangeMoreRegex2})
references: [ OneNumberRangeMoreRegex1, OneNumberRangeMoreRegex2, OneNumberRangeLessRegex1, OneNumberRangeLessRegex2 ]
TwoNumberRangeRegex4: !nestedRegex
def: (from\s+)?(?<number1>((?!((\.(?!\d+))|(,(?!\d+))|\bfrom\b)).)+)\s*{TillRegex}\s*(the\s+)?(?<number2>((?!((\.(?!\d+))|(,(?!\d+)))).)+)
references: [ TillRegex ]
def: (from\s+)?(?<number1>({NumberSplitMark}(?!\bfrom\b).)+)\s*{TillRegex}\s*(the\s+)?(?<number2>({NumberSplitMark}.)+)
references: [ TillRegex, NumberSplitMark ]
#Parser
DecimalSeparatorChar: !char '.'
FractionMarkerToken: over
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ class EnglishNumeric:
OrdinalRoundNumberRegex = f'(?<!(a|an)\\s+){RoundNumberOrdinalRegex}'
OrdinalEnglishRegex = f'(?<=\\b){AllOrdinalRegex}(?=\\b)'
FractionNotationWithSpacesRegex = f'(((?<=\\W|^)-\\s*)|(?<=\\b))\\d+\\s+\\d+[/]\\d+(?=(\\b[^/]|$))'
FractionNotationRegex = f'(((?<=\\W|^)-\\s*)|(?<=\\b))\\d+[/]\\d+(?=(\\b[^/]|$))'
FractionNotationRegex = f'(((?<=\\W|^)-\\s*)|(?<![/-])(?<=\\b))\\d+[/]\\d+(?=(\\b[^/]|$))'
FractionNounRegex = f'(?<=\\b)({AllIntRegex}\\s+(and\\s+)?)?({AllIntRegex})(\\s+|\\s*-\\s*)((({AllOrdinalRegex})|({RoundNumberOrdinalRegex}))s|halves|quarters)(?=\\b)'
FractionNounWithArticleRegex = f'(?<=\\b)({AllIntRegex}\\s+(and\\s+)?)?(a|an|one)(\\s+|\\s*-\\s*)(?!\\bfirst\\b|\\bsecond\\b)(({AllOrdinalRegex})|({RoundNumberOrdinalRegex})|half|quarter)(?=\\b)'
FractionPrepositionRegex = f'(?<=\\b)(?<numerator>({AllIntRegex})|((?<!\\.)\\d+))\\s+(over|in|out\\s+of)\\s+(?<denominator>({AllIntRegex})|(\\d+)(?!\\.))(?=\\b)'
Expand All @@ -64,15 +64,16 @@ class EnglishNumeric:
MoreOrEqualSuffix = f'(and|or)\\s+(more|greater|higher|larger|bigger)(?!\\s+than)'
LessOrEqual = f'(({LessRegex}\\s+or\\s+{EqualRegex})|at\\s+most|no\\s+{MoreRegex}|<\\s*=)'
LessOrEqualSuffix = f'(and|or)\\s+(less|lower|smaller|fewer)(?!\\s+than)'
OneNumberRangeMoreRegex1 = f'({MoreOrEqual}|{MoreRegex})\\s*(the\\s+)?(?<number1>((?!((\\.(?!\\d+))|(,(?!\\d+)))).)+)'
OneNumberRangeMoreRegex2 = f'(?<number1>((?!((\\.(?!\\d+))|(,(?!\\d+)))).)+)\\s*{MoreOrEqualSuffix}'
OneNumberRangeLessRegex1 = f'({LessOrEqual}|{LessRegex})\\s*(the\\s+)?(?<number2>((?!((\\.(?!\\d+))|(,(?!\\d+)))).)+)'
OneNumberRangeLessRegex2 = f'(?<number2>((?!((\\.(?!\\d+))|(,(?!\\d+)))).)+)\\s*{LessOrEqualSuffix}'
OneNumberRangeEqualRegex = f'{EqualRegex}\\s*(the\\s+)?(?<number1>((?!((\\.(?!\\d+))|(,(?!\\d+)))).)+)'
TwoNumberRangeRegex1 = f'between\\s*(the\\s+)?(?<number1>((?!((\\.(?!\\d+))|(,(?!\\d+)))).)+)\\s*and\\s*(the\\s+)?(?<number2>((?!((\\.(?!\\d+))|(,(?!\\d+)))).)+)'
NumberSplitMark = f'(?![,.](?!\\d+))'
OneNumberRangeMoreRegex1 = f'({MoreOrEqual}|{MoreRegex})\\s*(the\\s+)?(?<number1>({NumberSplitMark}.)+)'
OneNumberRangeMoreRegex2 = f'(?<number1>({NumberSplitMark}.)+)\\s*{MoreOrEqualSuffix}'
OneNumberRangeLessRegex1 = f'({LessOrEqual}|{LessRegex})\\s*(the\\s+)?(?<number2>({NumberSplitMark}.)+)'
OneNumberRangeLessRegex2 = f'(?<number2>({NumberSplitMark}.)+)\\s*{LessOrEqualSuffix}'
OneNumberRangeEqualRegex = f'{EqualRegex}\\s*(the\\s+)?(?<number1>({NumberSplitMark}.)+)'
TwoNumberRangeRegex1 = f'between\\s*(the\\s+)?(?<number1>({NumberSplitMark}.)+)\\s*and\\s*(the\\s+)?(?<number2>({NumberSplitMark}.)+)'
TwoNumberRangeRegex2 = f'({OneNumberRangeMoreRegex1}|{OneNumberRangeMoreRegex2})\\s*(and|but|,)\\s*({OneNumberRangeLessRegex1}|{OneNumberRangeLessRegex2})'
TwoNumberRangeRegex3 = f'({OneNumberRangeLessRegex1}|{OneNumberRangeLessRegex2})\\s*(and|but|,)\\s*({OneNumberRangeMoreRegex1}|{OneNumberRangeMoreRegex2})'
TwoNumberRangeRegex4 = f'(from\\s+)?(?<number1>((?!((\\.(?!\\d+))|(,(?!\\d+))|\\bfrom\\b)).)+)\\s*{TillRegex}\\s*(the\\s+)?(?<number2>((?!((\\.(?!\\d+))|(,(?!\\d+)))).)+)'
TwoNumberRangeRegex4 = f'(from\\s+)?(?<number1>({NumberSplitMark}(?!\\bfrom\\b).)+)\\s*{TillRegex}\\s*(the\\s+)?(?<number2>({NumberSplitMark}.)+)'
DecimalSeparatorChar = '.'
FractionMarkerToken = 'over'
NonDecimalSeparatorChar = ','
Expand Down
61 changes: 61 additions & 0 deletions Specs/Number/English/NumberModel.json
Original file line number Diff line number Diff line change
Expand Up @@ -1803,5 +1803,66 @@
}
}
]
},
{
"Input": "Any time to meet on 5/17/2018?",
"NotSupported": "javascript",
"Results": [
{
"Text": "5",
"TypeName": "number",
"Resolution": {
"value": "5"
}
},
{
"Text": "17",
"TypeName": "number",
"Resolution": {
"value": "17"
}
},
{
"Text": "2018",
"TypeName": "number",
"Resolution": {
"value": "2018"
}
}
]
},
{
"Input": "My phone number is +1-222-2222/2222",
"NotSupported": "javascript",
"Results": [
{
"Text": "1",
"TypeName": "number",
"Resolution": {
"value": "1"
}
},
{
"Text": "222",
"TypeName": "number",
"Resolution": {
"value": "222"
}
},
{
"Text": "2222",
"TypeName": "number",
"Resolution": {
"value": "2222"
}
},
{
"Text": "2222",
"TypeName": "number",
"Resolution": {
"value": "2222"
}
}
]
}
]
12 changes: 12 additions & 0 deletions Specs/Number/English/NumberRangeModel.json
Original file line number Diff line number Diff line change
Expand Up @@ -485,4 +485,16 @@
}
]
}
,
{
"Input": "+1-222-2222/2222 is a phone number.",
"NotSupported": "javascript, python",
"Results": []
}
,
{
"Input": "+1-222-2222-2222 is a phone number.",
"NotSupported": "javascript, python",
"Results": []
}
]

0 comments on commit 3520405

Please sign in to comment.