首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >php:正则表达式和插入符号

php:正则表达式和插入符号
EN

Stack Overflow用户
提问于 2013-03-21 05:21:48
回答 1查看 575关注 0票数 0

因此,我尝试创建一个正则表达式,以包含一个文本的课程内容,但不包括后面跟一个句点和一些文本的3位数字。基本上,我尝试将课程文本划分为单独的课程行,这样我就得到了一个数组,其中每个元素都有一个类的courseinfo。

例如,假设我们有:

$text = "295。学生发起的课程或项目。(1-2)对完成一年级课程的学生开放。临床工作、实地工作、法律援助、个人研究和写作、为专业期刊、学生授课课程或其他严肃的、具有教育性质的法律项目写作或编辑。需要获得法律第295管理员和院长的批准。296。法律论文。(8-13)“

还有这个巨大的正则表达式:

代码语言:javascript
运行
复制
$lineDelimiter = ='/(?:[0-9]{3}(?:\.5|\-[1-5])?[A-Z]?)(?:\-[0-9]{3}(?:\.5|\-[0-9])?  [A-Z]?)?\.\s*.+\.\s*(?:(?:\([0-9]+\-*[0-9]*\))(?:\s*or\s*\([0-9]+\-*[0-9]*\))?)?\s*(?:Prerequisite)?.+(?:\n.+)?\.\n?(?:\s*Mr\.\s.+,?|\s*Ms\.\s.+,?|\s*Dr\.\s.+,?|\s*The\sFaculty.*,?)*[^(?:[0-9]{3}\..+)]/';

这个巨大的正则表达式的最后一部分,它包含

代码语言:javascript
运行
复制
'/[^(?:[0-9]{3}\..+)]/'   

当I preg_match_all时出现错误。

我试着排除"296.法律论文。(8-13)“部分,这样它就会

295 .学生发起的课程或项目。(1-2)对完成第一年课程的学生开放。临床工作、田野工作、法律援助、个人研究和写作、为专业期刊、学生授课课程或其他严肃的教育性质的法律项目写作或编辑。需要获得第295号法律管理人和院长的批准。

EN

回答 1

Stack Overflow用户

发布于 2013-03-21 05:25:53

如果您想要将除最后一部分以外的所有内容与数字和文本进行匹配,您可以尝试这样做:

代码语言:javascript
运行
复制
'/([\s\S]+)(?=\d{3}\..+)/'

  • [\s\S]+可以匹配所有内容-空格和non-whitespace
  • (?=)都可以执行Positive Lookahead。它与方括号中的内容不匹配,但它确保方括号前的内容后跟brackets.
  • \d{3}\..+中的内容匹配3位数字,后跟一个点和其他一些不带新行的字符。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15534979

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档