小编mar*_*cog的帖子

在PHP中使用单个preg_match_all查找多个模式

使用PHP和preg_match_all我试图获取以下标记之间的所有HTML内容(以及标记):

<p>paragraph text</p>
don't take this
<ul><li>item 1</li><li>item 2</li></ul>
don't take this
<table><tr><td>table content</td></tr></table>
Run Code Online (Sandbox Code Playgroud)

我可以得到其中一个就好了:

preg_match_all("(<p>(.*)</p>)siU", $content, $matches, PREG_SET_ORDER);
Run Code Online (Sandbox Code Playgroud)

有没有办法让所有的

<p></p> <ul></ul> <table></table>
Run Code Online (Sandbox Code Playgroud)

内容只有一个preg_match_all?我需要它们按照它们被发现的顺序出来,所以我可以回应内容,这将是有意义的.

所以,如果我在上面的内容上做了一个preg_match_all,那么迭代通过$ matches数组就会回显:

<p>paragraph text</p>
<ul><li>item 1</li><li>item 2</li></ul>
<table><tr><td>table content</td></tr></table>
Run Code Online (Sandbox Code Playgroud)

php regex

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

perl正则表达式转义字符

我听说perl在使用正则表达式时是一种很好的语言,但我对需要转义的字符有点困惑

我在http://regexlib.com/RETester.aspx上测试了代码,得到了我想要的结果

//home/dev/abc/code/hello/world.cpp#1
//home/dev/((.*?)/[^/]+).*#

Match   $1  $2
//home/dev/abc/code/hello/world.cpp#    abc/code    abc
Run Code Online (Sandbox Code Playgroud)

但是,我不太确定如何将其转换为perl代码

我试过了,

\/\/home\/dev\/\(\(\.\*\?\)\/\[\^\/\]\+\)\.\*\#
Run Code Online (Sandbox Code Playgroud)

和

\/\/home\/dev\/((.*?)\/[^\/]+).*\#
Run Code Online (Sandbox Code Playgroud)

两者都失败了

难道你不认为逃避使正则表达式难以理解吗?我用错了吗?

regex perl

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

char数组是否包含字符串?

我有一个文本文件,想检查它是否包含一个字符串.文本文件存储在char数组中:char buffer[512][128];.

Q1:如果我在一个长数组而不是多维数组中缓冲它会更容易吗?Q2:我如何检查缓冲区是否包含字符串char *s1 = "Hello world!";?我需要搜索多个字符串.

c string search contains char

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

接口的方法应该抛出异常吗?

我的意思是,在定义中.如果我有一个实现接口的类的方法,并且我想抛出异常,如果接口没有throws声明,我怎么能这样做.

谢谢

java interface exception

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

"从表中删除"不删除表?

我创建"database.db",一切顺利,但为什么不在最后删除表?每次我运行它,我在创建表时得到"表已存在"错误消息.

int main()
{
 sqlite3 *db; //Database Handle
 char *zErr;
 int rc;
 char *sql;

 rc = sqlite3_open("database.db", &db);

 if(rc)
 {
  cout << "Can't open database: " << sqlite3_errmsg(db) << endl;;
  sqlite3_close(db);
  exit(1);
 }

 sql = "create table test(PID int primary key, Name text)"; //sql query

 rc = sqlite3_exec(db, sql, NULL, NULL, &zErr); //execute sql statement

 if(rc != SQLITE_OK)
 {
  if (zErr != NULL)
  {
   cout << "SQL error: " << zErr << endl;
   sqlite3_free(zErr);
  }
 }
 else
 {
  sql = …
Run Code Online (Sandbox Code Playgroud)

c++ sql sqlite

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

XSS正则表达式

什么是正则表达式,可用于确定字符串是否是XSS(跨站点脚本)安全风险?

regex security xss

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

请求Y的成员X,其为非类型Z.

尝试编译以下C++代码片段时(完整源代码如下)

A::A(istream& i) {
    vector<string> words( istream_iterator<int>(i), istream_iterator<int> );
    words.begin();
 }
Run Code Online (Sandbox Code Playgroud)

我收到了错误

istream_it.cpp:12: error: request for member ‘begin’ in ‘words’, which is of non-class type 
‘std::vector<int, std::allocator<int> >(
    std::istream_iterator<int, char, std::char_traits<char>, long int>,
    std::istream_iterator<int, char, std::char_traits<char>, long int>)’
Run Code Online (Sandbox Code Playgroud)

我知道这个错误通常是由使用no-parameters运算符意外声明一个函数引起的,如

string s(); s.size();
Run Code Online (Sandbox Code Playgroud)

但在这种情况下,我已经删除了所有不必要的代码,仍然无法确定究竟出现了什么问题,或者正确的语法是什么.

完整来源:

#include <sstream>
#include <vector>
#include <iterator>
#include <string>

using namespace std;

class A {
public:
    A(istream& i) {
        vector<int> words(istream_iterator<int>(i), istream_iterator<int> );
        words.begin();
    }
};


int main(int argc, char** argv)
{
    istringstream iss("1 2 3");
    A …
Run Code Online (Sandbox Code Playgroud)

c++

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

awk脚本标题:#!/ bin/bash或#!/ bin/awk -f?

在一个awk文件,如example.awk,如果头是#!/bin/bash还是#!/bin/awk -f?

我的问题的原因是,如果我在控制台中尝试此命令,我会收到带有"文本行"的正确file.txt:

 awk 'BEGIN {print "line of text"}' >> file.txt
Run Code Online (Sandbox Code Playgroud)

但如果我尝试使用./example.awk执行以下文件:

#! /bin/awk -f
awk 'BEGIN {print "line of text"}' >> file.txt
Run Code Online (Sandbox Code Playgroud)

它返回一个错误:

$ ./awk-usage.awk
awk: ./awk-usage.awk:3: awk 'BEGIN {print "line of text"}' >> file.txt
awk: ./awk-usage.awk:3:     ^ invalid char ''' in expression
Run Code Online (Sandbox Code Playgroud)

如果我将标题更改为#!/bin/bash或 #!/bin/sh它的工作原理.

我的错误是什么?这是什么原因?

linux bash shell awk

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

Xcode符号文件位置

Xcode是否输出符号文件,或者可能生成一个符号文件?我们正在以自己的格式从设备中捕获自己的崩溃报告,并希望对其进行符号化,因此,与等待Apple提供崩溃报告相比,我们可以更快地进行周转。

xcode symbols objective-c ios

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

从表A中删除加入Redshift中的表A.

我试图在PostgreSQL 8.0中编写以下MySQL查询(具体来说,使用Redshift):

DELETE t1 FROM table t1
LEFT JOIN table t2 ON (
    t1.field   = t2.field AND
    t1.field2  = t2.field2
)
WHERE t1.field > 0
Run Code Online (Sandbox Code Playgroud)

PostgreSQL 8.0不支持DELETE FROM table USING.文档中的示例说您可以在where子句中引用其他表中的列,但这不起作用,因为我正在加入我正在删除的同一个表.另一个例子是一个子选择查询,但我正在使用的表的主键有四列,所以我看不到让它工作的方法.

sql delete-row amazon-redshift

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

标签 统计

regex ×3

c++ ×2

sql ×2

amazon-redshift ×1

awk ×1

bash ×1

c ×1

char ×1

contains ×1

delete-row ×1

exception ×1

interface ×1

ios ×1

java ×1

linux ×1

objective-c ×1

perl ×1

php ×1

search ×1

security ×1

shell ×1

sqlite ×1

string ×1

symbols ×1

xcode ×1

xss ×1