问题列表 - 第24597页

正则表达式:以不同顺序匹配组而不重复组

假设我有两个这样的字符串:

XABY
XBAY
Run Code Online (Sandbox Code Playgroud)

一个匹配两者的简单正则表达式将如下所示:

X(AB|BA)Y
Run Code Online (Sandbox Code Playgroud)

但是,我有一个案例,其中A和B是复杂的字符串,我正在寻找一种方法来避免必须指定它们两次(在|的每一侧).有没有办法做到这一点(可能比指定它们两次更简单)?

谢谢

regex

14
推荐指数
2
解决办法
2万
查看次数

正则表达式匹配单词和撇号

更新:根据关于我的问题含糊不清的评论,我增加了问题的细节.

(术语:用语言来指代任何一系列字母数字字符.)

我正在寻找一个正则表达式来匹配以下,逐字:

  • 话.
  • 开头有一个撇号的单词.
  • 整个中间任意数量的非连续撇号的单词.
  • 最后有一个撇号的单词.

我想匹配以下内容,但不是逐字逐句,而是删除撇号:

  • 在开头和结尾处带有撇号的单词将与单词匹配,而不带撇号.所以'foo'会匹配foo.
  • 在中间具有多个连续撇号的单词将被解析为两个不同的单词:连续撇号之前的片段和连续撇号之后的片段.所以,foo''bar将匹配foobar.
  • 在开头或结尾处具有多个连续撇号的单词将与单词匹配,而没有撇号.因此,''foo将匹配foo''foo''foo.

示例 这些将逐字匹配:

  • 'bout
  • it's
  • persons'

但这些将被忽略:

  • '
  • ''

并且,因为'open',open将匹配.

regex python-3.x

12
推荐指数
2
解决办法
2万
查看次数

从列表中删除boost :: shared_ptr的正确方法是什么?

我有一个std::list,boost::shared_ptr<T>我想从中删除一个项目,但我只有一个T*类型的指针,它匹配列表中的一个项目.

但是我无法使用myList.remove( tPtr )我猜测因为shared_ptr没有==为其模板参数类型实现.

我的直接想法是尝试myList.remove( shared_ptr<T>(tPtr) )哪种语法正确,但它会因双重删除而崩溃,因为临时shared_ptr具有单独的use_count.

std::list< boost::shared_ptr<T> > myList;

T* tThisPtr = new T(); // This is wrong; only done for example code.
                       // stand-in for actual code in T using 
                       // T's actual "this" pointer from within T
{
   boost::shared_ptr<T> toAdd( tThisPtr ); // typically would be new T()
   myList.push_back( toAdd );
}

{
   //T has pointer to myList so that upon a certain action, …
Run Code Online (Sandbox Code Playgroud)

c++ boost stl smart-pointers

4
推荐指数
1
解决办法
4818
查看次数

根据TreeView选择绑定的类型显示UserControl

我在WPF中以类似于Windows资源管理器的方式制作应用程序,左侧是TreeView,右侧是窗格.

我希望右窗格的内容根据TreeView中所选元素的类型进行更改.

例如,假设树视图中的顶层包含类"A"的对象,如果展开"A"对象,您将看到"B"对象列表作为"A"对象的子对象.

如果选择"A"对象,我希望右窗格显示"A"的用户控件,如果选择"B",我希望右窗格显示"B"的用户控件.

我目前的工作是:

  • 使用每种类型一个HierarchialDataTemplate设置TreeView
  • 将所有UserControl添加到右侧窗格,但已折叠
  • 在TreeView上实现SelectedItemChanged,并将相应的usercontrol设置为visible,将其他控件设置为collapsed.

    但是,我确信有更好/更优雅的方式根据选择绑定的类型切换视图,可能通过更多地使用数据绑定...任何想法?

  • wpf

    9
    推荐指数
    2
    解决办法
    2189
    查看次数

    \ geqslant Latex中未定义的控制序列

    当我编译以下乳胶代码时:

    \begin{align}   
    f_{m}(x) = c_{1,m} \times I(x_{i}^{m} \geqslant t_{m} ) + c_{2,m} \times I(x_{i}^{m} <     t_{m} ),  
    \end{align} 
    
    Run Code Online (Sandbox Code Playgroud)

    我总是收到一个错误:

    ! Undefined control sequence.  
    <argument> ..._{1,m} \times I(x_{i}^{m} \geqslant   
                                                  t_{m} ) + c_{2,m} \times I...  
    l.124 \end{align}
    
    Run Code Online (Sandbox Code Playgroud)

    当我用> =替换\ geqslant时,它没关系.

    我已经包含了amsmath包.什么会导致这个问题?

    感谢致敬!

    latex

    9
    推荐指数
    1
    解决办法
    1万
    查看次数

    Python Mindstorms RCX

    我有30个未开封的Lego Mindstorms套件,我喜欢在我的介绍编程课程中使用它来在年底做一些简单的机器人技术.我们在课堂上使用Python,所以我更喜欢让孩子们用Python编写程序.不幸的是,这些是带有RCX砖的旧套件 - 而不是新的NXT套件,所以像NXT_Python这样的大多数项目都无法帮助我.有没有办法让这种情况发生?

    python lego-mindstorms lego

    13
    推荐指数
    1
    解决办法
    2432
    查看次数

    将char乘以整数(c ++)

    是否可以将char乘以int?

    例如,我正在尝试制作一个图表,每次出现一个数字都带有*.

    所以类似的东西,但这不起作用

    char star = "*";
    int num = 7;
    
    cout << star * num //to output 7 stars
    
    Run Code Online (Sandbox Code Playgroud)

    c++ string char multiplying

    7
    推荐指数
    3
    解决办法
    3万
    查看次数

    Wordpress数据库insert()和update() - 使用NULL值

    Wordpress附带了wpdb处理CRUD操作的类.我感兴趣的这个类的两个方法是insert()(CRUD中的C)和update()(CRUD中的U).

    当我想在mysql数据库列中插入NULL时出现问题 - wpdb该类将PHP空变量转义为空字符串.如何告诉Wordpress使用实际的MySQL NULL而不是MySQL字符串?

    php mysql wordpress null crud

    7
    推荐指数
    2
    解决办法
    1万
    查看次数

    为什么DateTime.ParseExact()不能在"4/4/2010 4:20:00 PM"使用"M'/'d'/'yyyy H'解析AM/PM:'mm':'ss'' TT"

    我正在使用c#,如果我这样做的话

    DateTime.ParseExact("4/4/2010 4:20:00 PM", "M'/'d'/'yyyy H':'mm':'ss' 'tt", null)
    
    Run Code Online (Sandbox Code Playgroud)

    返回值总是凌晨4:20 - 使用tt我做错了什么?

    谢谢!

    c# datetime parsing

    30
    推荐指数
    1
    解决办法
    3万
    查看次数

    如何使用多个电话号码设置客户表? - 关系数据库设计

    CREATE TABLE Phone
    (
    phoneID - PK
    .
    .
    .
    );
    
    CREATE TABLE PhoneDetail
    (
    phoneDetailID - PK
    phoneID - FK points to Phone
    phoneTypeID ...
    phoneNumber ...
    .
    .
    .
    );
    
    CREATE TABLE Customer
    (
    customerID - PK
    firstName
    phoneID - Unique FK points to Phone
    .
    .
    .
    );
    
    Run Code Online (Sandbox Code Playgroud)

    客户可以拥有多个电话号码,例如Cell,Work等.Customer表中的phoneID是唯一的,并指向Phone表中的PhoneID.如果删除客户记录,则还应删除Phone表中的phoneID.

    你对我的设计有任何顾虑吗?这个设计得当吗?我的问题是Customer表中的phoneID是一个孩子,如果删除了子记录,那么我无法自动删除父(电话)记录.

    sql database normalization

    4
    推荐指数
    2
    解决办法
    8408
    查看次数