-1

我正在尝试使用 regex 在我的代码中查找 HTML 标记<(.|\n)+?>

现在我遇到了一个字符串,这个正则表达式给了我一个StackOverflowError.

它第一次通过 group 函数在字符串中找到粗体部分,但下一次给出下面提到的异常。

我正在使用以下字符串:

“在 SCCM 2012 中有一个完全修订的移动设备版本
管理部分。当然,这在 SCCM 2007 中已经存在,但是,嘿,你会吗?
想要“管理”古老的 Windows CE 或 Windows Mobile 5.0 设备?我没有
也这么认为。此外,在 SCCM 2007 时代,自带设备 (BYOD)
像今天一样热,每个人都想带进来并使用自己的
平板电脑、智能手机和笔记本电脑。现在有了 SCCM 2012,有适当的支持
对于 BYOD。是的!有关这方面的一个很好的概述,请参阅 Principal 的此视频
项目经理 Jeffrey Sutherland,谈论移动设备管理
SCCM 2012. Light and Depth Management 我们可以定义两种类型的设备
SCCM 2012 中的管理:-> 灯光管理 **<- 通过 Exchange 工作
ActiveSync,我们利用现有的 Exchange 设备策略,做轻
设备管理(远程擦除、锁定等) 我们为什么要这样做?它是
已经在 Exchange 对吗?好吧,Exchange 管理员可能不是很
与特定的最终用户设备有关,因为他们与处理
邮件流,因此此任务可能更适合桌面/最终用户/设备
您组织中的管理团队。他们是与 SCCM 2012 合作的人,
他们是最有兴趣收集有关信息的人,并且
管理设备。此外,SCCM 提供了一些非常好的报告
devices.** -> In-Depth Management <- 另一种类型是 In-Depth Management
的移动设备 这不能通过 EAS 工作,而是通过两个新的 SCCM
SCCM 2012 中引入的角色;注册点和
注册代理点。深度管理可以通过两种方式进行;- 注册
通过在移动设备上安装移动设备客户端,将移动设备导入 SCCM。
仅在受支持的移动操作系统上。(当前为 WinMobile 6.1、6.5 和诺基亚 Symbian
美女)。提供了大多数功能。- 通过以下方式将移动设备注册到 SCCM
在其上安装旧版移动设备客户端。仅在受支持的手机上
操作系统,目前是古老的 WinCE 5、6 和 7,以及 WinMo 6.0。较少的
功能,但仍然比 EAS 更多的选择。为了一个很好的比较
所有三个场景的所有功能(EAS、设备上的移动设备客户端和
旧版移动设备客户端),请参阅 Technet 上的此页面。请注意,两者都深入
解决方案需要 PKI 基础设施,因为证书是
在设备上使用!因此,稍后将详细介绍深入部分,让我们首先了解
EAS 连接。(是的,您也可以选择混合解决方案,即使用
EAS 和通过注册)移动设备管理的配置
通过 Exchange 那么,我们该如何设置呢?首先是先决条件:Exchange 2010
SP1 服务器(或 Exchange Online(office365)和一个工作的 SCCM 2012 服务器(duh)
以及它们之间的网络连接。然后我们要建立连接
在 SCCM 服务器和 Exchange (CAS) 服务器之间。我们点击添加交换
服务器并获取向导:指定交换 CAS 服务器的名称...嘿,
看看这个画面。交易所许可的精确列表
连接器帐户需要。我想说这需要一个新的 RBAC 角色
交换!因此,让我们首先为此连接创建一个服务帐户并分配
适当的交换权限。现在我将分配只读
此服务帐户的权利,因为我只想从 EAS 获取有关
设备,而不是进行任何远程擦除。顺便说一句,这也是如何
Microsoft IT 做到了这一点(阅读此处)然后继续执行向导:我刚刚设置
这是每周一次的完整发现,以及每天两次的 Delta 发现。所以,在这之后
向导,已与 CAS 服务器建立连接。尽你所能
看,路径 /powershell 已添加到 Exchange 的目标路径中
服务器。这是有道理的,因为它真正做的就是启动 PowerShell
针对 CAS 的 cmdlet,以从中获取信息。那么,我们是否看到任何设备
现在?首先让我们开始一个发现周期:然后看:那个设备有我的
名字写在上面(tee-hee)那么,我们能用它做什么呢?嗯,不是
很多:擦除,阻止,和..嗯。出色地。让我们看看那些报告
然后:哇。这是很多内置的报告。很酷!到此为止。
是时候开始忙碌了,启动一部旧的 Windows Mobile 6.5 手机,然后开始
做一些真正的管理。在下一篇文章中。”

得到的例外是

Exception in thread "main" java.lang.StackOverflowError
    at java.util.regex.Pattern$LazyLoop.match(Unknown Source)
    at java.util.regex.Pattern$GroupTail.match(Unknown Source)
    at java.util.regex.Pattern$BranchConn.match(Unknown Source)
    at java.util.regex.Pattern$CharProperty.match(Unknown Source)
    at java.util.regex.Pattern$Branch.match(Unknown Source)
    at java.util.regex.Pattern$GroupHead.match(Unknown Source)
4

1 回答 1

0

如果确实没有循环,您可以使用 -Xss jvm 标志(每个线程的堆栈大小)

于 2012-05-23T06:23:14.120 回答