这是我想要实现的。给定一组数据,我试图获取包含匹配的正则表达式的整行。匹配正则表达式模式,如果存在,否则
从本质上讲,给定的数据集如本
AFAM 002A AFAM & DEV AM HIS/GV 03 46493 3 LEC D2 70 P 20/15 W 1800-2045 08/24/16-12/12/16 WSQ 207 K WHITE
AFAM 102 AFRO-AMER MUSIC 01 47200 3 LEC P 5/30 W 1800-2045 08/24/16-12/12/16 MUS 250 V GROCE-ROBERTS
AFAM 125 THE BLACK FAMILY 01 47198 3 LEC P 16/40 M 1800-2045 08/24/16-12/12/16 CCB 101 S MILLNER
AFAM 152 THE BLACK WOMAN 01 47199 3 LEC P 8/40 T 1800-2045 08/24/16-12/12/16 CL 111 R WILSON
AFAM 159 ECON ISSUES BLKCM 01 47197 3 LEC P 11/40 MW 1330-1445 08/24/16-12/12/16 CL 234 R WILSON
AFAM 180 INDIVIDUAL STUDIES 01 46982 3 SUP P 0/10 TBA TBA 08/24/16-12/12/16
我创建基本上组的以下成..
- 课程ID例如正则表达式。 AFAM 002A
- 课程名称例如: AFRO-AMER MUSIC
- 开始日期
- 结束日期
- 教授名称(这是我想成为可选的值)
,我现在遇到的问题是,对于可选值,而不是我什么是检查它是否存在,如果不存在则留空。如果有人能告诉我正确的方法来做到这一点,我将不胜感激。
本质上我的正则表达式([A-Z][\s][A-Z]+[-]*[A-Z]+)?
的这部分需要包括如果它存在,我明白,这就是?
运营商应该如何工作,但我似乎无法使我在这里
([A-Z]+[\s][0-9]+[A-Z]*)(.+)[\s][0-9]+[\s][0-9]+.+(\d\d\/\d\d\/\d\d)-(\d\d\/\d\d\/\d\d)[\s]([A-Z][\s][A-Z]+[-]*[A-Z]+)?
该数据集的最后两行预期的结果应该是
{ [ (AFAM 159), (ECON ISSUES BLKCM), (08/24/16), (12/12/16), (R WILSON)],
[(AFAM 180), (INDIVIDUAL STUDIES), (08/24/16), (12/12/16),()]
}
你想留下什么空的?预期的结果是什么? –
我很抱歉,在编辑中添加了预期结果 –
您的正则表达式在最后一行中与“CL 234”不匹配。试试['([AZ] + \ s \ d + [AZ] *)(。+)\ s \ d + \ s \ d +。+(\ d \ d \ d \ d \ d \ d \ d) - (\ d \ d \/\ d \ d \/\ d \ d)\ S: - '](HTTPS(*([AZ] \ S [AZ] + * [AZ] +)??)?: //regex101.com/r/LjKmw9/1) –