s*****e 发帖数: 115 | 1 目前我做到了怎么样可以match 到Department,如下
(?!Spring|Winter|Fall)([A-Z]+) #for class
match 学期应该也可以做,但是怎么match course number和年份呢?
有兴趣的可以把下文放到http://regexr.com/这里来测试
有可能无解不?
输入:
# "CS1113423234 2016 Fall"
# "CS-111 Fall 2016"
# "MATH 123 2015 Spring"
# "CS 232 Fall2014"
# "MATH24 Winter14"
输出:
# For example, all of the above combinations would give you:
# Department: CS
# Course Number: 111
# Year: 2014
# Semester: Fall
# this is output obj :
{
'department' : 'CS',
'courseID' : '111',
'year' : '2014',
'semester': 'fall'
}
题目hint:
# Valid forms of Department+Course Number are:(这里只有四种可能, 数字也可能
很长的一个数字)
# CS111
# CS 111
# CS:111
# CS-111
# And valid forms of Semester+Year are:
# Fall 2014
# fall 14
# 2014 Fall
# F2014
# Semesters are Fall (F), Winter (W), Spring (S), Summer (Su). | w********m 发帖数: 1137 | 2 用Python或者Perl几分钟搞定
一定要用regex?
【在 s*****e 的大作中提到】 : 目前我做到了怎么样可以match 到Department,如下 : (?!Spring|Winter|Fall)([A-Z]+) #for class : match 学期应该也可以做,但是怎么match course number和年份呢? : 有兴趣的可以把下文放到http://regexr.com/这里来测试 : 有可能无解不? : 输入: : # "CS1113423234 2016 Fall" : # "CS-111 Fall 2016" : # "MATH 123 2015 Spring" : # "CS 232 Fall2014"
| a9 发帖数: 21638 | 3 这样?
([a-zA-Z]+)[:-\s]*([0-9]+)[:-\s]*((([0-9]+)[\s]*([a-zA-Z]+))|(([a-zA-Z]+)[\s
]*([0-9]+)))
【在 s*****e 的大作中提到】 : 目前我做到了怎么样可以match 到Department,如下 : (?!Spring|Winter|Fall)([A-Z]+) #for class : match 学期应该也可以做,但是怎么match course number和年份呢? : 有兴趣的可以把下文放到http://regexr.com/这里来测试 : 有可能无解不? : 输入: : # "CS1113423234 2016 Fall" : # "CS-111 Fall 2016" : # "MATH 123 2015 Spring" : # "CS 232 Fall2014"
| w**z 发帖数: 8232 | 4 我对会写复杂 regex 都是仰视的。
【在 a9 的大作中提到】 : 这样? : ([a-zA-Z]+)[:-\s]*([0-9]+)[:-\s]*((([0-9]+)[\s]*([a-zA-Z]+))|(([a-zA-Z]+)[\s : ]*([0-9]+)))
| p**r 发帖数: 5853 | 5 regex其实说白了就是为了省代码行数。
【在 w**z 的大作中提到】 : 我对会写复杂 regex 都是仰视的。
| s*****e 发帖数: 115 | 6 我试了一下,题目的要求是说要把dept,course code, semester和年份分别parse出来
你这样是把整条record找出来了,当然也很好,其实后续已经可以用python来处理了,只
是这个面试比较奇葩,只能用regex,我在想是不是可能无解
再说,regex对于full text search应该是不可用的吧?假如full text很大,比如整个
wikipedia
【在 a9 的大作中提到】 : 这样? : ([a-zA-Z]+)[:-\s]*([0-9]+)[:-\s]*((([0-9]+)[\s]*([a-zA-Z]+))|(([a-zA-Z]+)[\s : ]*([0-9]+)))
| a9 发帖数: 21638 | 7 用regex输出json?搞笑呢?
【在 s*****e 的大作中提到】 : 我试了一下,题目的要求是说要把dept,course code, semester和年份分别parse出来 : 你这样是把整条record找出来了,当然也很好,其实后续已经可以用python来处理了,只 : 是这个面试比较奇葩,只能用regex,我在想是不是可能无解 : 再说,regex对于full text search应该是不可用的吧?假如full text很大,比如整个 : wikipedia
| s*****e 发帖数: 115 | 8 直接输出到json肯定不可以,
我觉得他们的意思应该是分别parse,比如说
(?!Spring|Winter|Fall)([A-Z]+) #for class
【在 a9 的大作中提到】 : 用regex输出json?搞笑呢?
| s***o 发帖数: 2191 | 9 googling "captured group" may give you some clue
【在 s*****e 的大作中提到】 : 直接输出到json肯定不可以, : 我觉得他们的意思应该是分别parse,比如说 : (?!Spring|Winter|Fall)([A-Z]+) #for class
|
|